У меня есть модуль, который запускает сервер express, а затем запускает fetch
на каком-то внешнем домене.
Я обнаружил jest-mock-fetch
для проверки внутренней выборки. Но тогда мне все еще нужно использовать fetch
, чтобы связаться с моим express сервером из теста. Как мне это сделать?
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')
});