6

我需要从远程 url 在我的测试中获取一些真实数据。我的 Superagent 没有被嘲笑。我已经通过包含node_modules/superagent/unmockedModulePathPatterns.

这是我要测试的文件,该.end()函数永远不会被调用。

这是我的测试,失败并出现超时错误。

jest.dontMock("../Stocks.js");
jest.dontMock("superagent");

describe("Stock Actions", () => {
  var makeRequest = require('../Stocks')

  pit("doesn't crash", function () {
    var promise = makeRequest("Hello World")

    promise.then(function (str) {
      expect(str).toBe("yay");
    });

    return promise;
  });
});

这是它试图测试的模块:

import Reflux     from 'reflux';
import request    from 'superagent';

console.log("request-superagent", request)

const makeRequest = Reflux.createAction({ asyncResult: true });

const Store = Reflux.createStore({
  init() {
    this.listenTo(makeRequest, 'onMakeRequest');
  },

  onMakeRequest(url) {

    request('GET', 'http://api.example.com/list/')
        .end(function (err, res) {
          console.log("res.text", res.text);
          if (!res.ok) {
            makeRequest.failed("aw");
          }

          makeRequest.completed("yay");
        });
  }
});

module.exports = makeRequest;

如何在 jest-cli 中使用 superagent?

4

0 回答 0