Я использую приложение create-response-app с redux и log4javascript. Я начал писать интеграционные тесты и запускать npm run test с --env=node. После того, как я начал использовать node, я получаю ошибку window is not defined.
Есть ли способ определить window как глобальный объект при запуске тестов шутки? Я пробовал установить
global.window = jest.fn(() => {
location: { search: '' }
})
но все еще не работает.
Есть ли причина, по которой вы используете --env=node? Средой тестирования по умолчанию для Jest является jsdom, которая предоставляет среду браузера, включая объект window. Среда node предназначена для приложений, предназначенных для работы на node (код сервера и т. д.). Похоже, вы тестируете приложение React, которое должно быть протестировано в среде jsdom.
На самом деле я тоже немного запутался в этом. Я думаю, что jsdom - это то, что вам нужно. Но столкнулся с некоторыми другими проблемами, связанными с моим приложением.





взгляните на stackoverflow.com/questions/41885841/…