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, ...).
Вы должны настроить себя (обратитесь к этим документам ), необходимые шаги:
- Изменять
test
скрипты вpackage.json
кjest
- Установите зависимости (babel, preset for jest и т. Д.)
- Настроить шутку с помощью
jest.config.js
(как и вы, я также добавляю jsdom в качестве тестовой среды) - Настраивать
jest.setup.js
загрузить макет сервера
Я создал PR, который выполнил для вас вышеуказанные шаги, чтобы протестировать, просто запустите
npm run test App.test.js
Выход: