Mock Service Worker не может перехватить сетевой запрос

У меня есть проект реакции в этом репозитории git, созданный с нуля без использования приложения create-response-app, поэтому я использую файлы jest.config.js и jest.setup.js, как это было предложено в для документе mswимитации сетевого запроса для тестирования. При выполнении теста я получаю сообщение об ошибке ниже.

(узел:12207) ExperimentalWarning: API fs.promises является экспериментальным console.error Ошибка: ошибка: подключите ECONNREFUSED 127.0.0.1:5000

Тот же тестовый код отлично работает, когда я создаю новый проект с помощью приложения create-react-app, содержащего setupTests.js, но я хочу имитировать запрос api в проекте реакции, который был создан вручную с нуля.

1 ответ

В учебнике для msw, макет сервера настроен в. Поскольку CRA (create-response-app) уже настроен для вас, и CRA загрузит setupTests.js когда вы запускаете тест с react-scripts test.

Если вы хотите создать новый проект с нуля (предполагается, что вы уже установили react, react-dom, ...).

Вы должны настроить себя (обратитесь к этим документам ), необходимые шаги:

  1. Изменять test скрипты в package.json к jest
  2. Установите зависимости (babel, preset for jest и т. Д.)
  3. Настроить шутку с помощью jest.config.js (как и вы, я также добавляю jsdom в качестве тестовой среды)
  4. Настраивать jest.setup.js загрузить макет сервера

Я создал PR, который выполнил для вас вышеуказанные шаги, чтобы протестировать, просто запустите

      npm run test App.test.js

Выход:

Другие вопросы по тегам