如何在模块中使用jest-fetch-mock,又如何在测试中使用fetch?

时间:2020-02-16 22:35:02

标签: express jestjs fetch

我有一个模块,该模块可以启动快速服务器,然后在某个外部域上运行fetch

我发现jest-mock-fetch模拟了内部提取。但是,我仍然需要使用fetch才能通过测试联系我的快递服务器。我该怎么做?

myModule.js

import express from 'express';
const fetch = require("node-fetch");

const app = express();
app.get('/path', () => {
  fetch('http://somedomain.com');
})
app.listen('8000');

myModule.test.js

import myModule from './myModule';

require("jest-fetch-mock").enableMocks();

const fetch = require("node-fetch");

it('fetches from myModule server', () => {
  const promise = fetch('localhost:8000/path');

  fetch.mock('mocked response from somedomain.com');

  fetch.stopMocking();

  fetch.continueMocking();

  cons res = await promise;

  expect('mocked response from somedomain.com')
});

0 个答案:

没有答案