我有一个模块,该模块可以启动快速服务器,然后在某个外部域上运行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')
});