В jest.config.js
вы можете добавить установочные файлы , которые указывают на файл с некоторой пользовательской конфигурацией.Там вы можете объявить методы и свойства для объекта window
.Например, ваш jest.config.file
может выглядеть следующим образом:
module.exports = {
...
'setupFiles': ['./tests/unit/config.main.js'],
...
}
А затем в /tests/unit/config.main.js
(или любом другом пути) вы просто добавляете:
window.location = { value: { href: "http://localhost/" }};
В моем собственном установочном файле у меня также есть window
помощники, например:
window.alert = (msg) => { console.log(msg); };
window.matchMedia = () => ({});
window.scrollTo = () => { };
Так что код в вашем приложении, который вызывает эти window
методы, не нарушает тест.
(на самом деле я никогда не пытался настроить window.location
в установочном файле, но это должно работать прямо).