Когда я пытаюсь запустить тест npm в терминале, у меня работает сервер.(Я попытался запустить его в Visual Studio и в cmd с запуском dotnet. Все, что он делает, - это ошибка:
TypeError: Network request failed
at XMLHttpRequest.xhr.onerror (C:\Users\Tomas\source\repos\ReactGoalTrackingWebsite\ReactGoalTrackingWebsite\ClientApp\node_modules\whatwg-fetch\fetch.js:436:16)alTrackingWebsite\ClientApp\node_modules\whatwg-
Ошибка возникает из-за того, что компоненты, отрисованные в тесте, не получают правильный URL-адресДопустим,
- Ваше ядро ASP.NET прослушивает http://localhost:5001
- Сервер React Dev прослушивает порт 57301
Когда вы запускаетеПротестируйте npm test
, он отобразит эти реагирующие компоненты, однако, если ваши реагирующие компоненты извлекают запросы с сервера при подключении, не имеет представления о правильном порте сервера, а затем выдает ошибку Network request failed
.
Чтобы исправить ошибку, просто вызовите следующую команду:
react-scripts test --env=jsdom --testURL=https://localhost:50001/
Или измените скрипт npm test
в вашем package.json
на:
"scripts": {
"start": "rimraf ./build && react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom --testURL=https://localhost:50001/",
"eject": "react-scripts eject"
}
Обновление:
Если вы используете fetch api, не забудьте смоделировать fetch:
"devDependencies": {
"jest-fetch-mock": "^1.6.6"
}
setup:
global.fetch = require('jest-fetch-mock')