Как использовать jest-fetch-mock для модуля, но также использовать fetch в моем тесте? - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть модуль, который запускает сервер 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')
});
...