Внутри тестирования вашей функции reloadFn
, вы должны использовать макет, с которым вы связались:
Object.defineProperty(window.location, 'reload', {
configurable: true,
}); // makes window.location.reload writable
window.location.reload = jest.fn(); // set up the mock
reloadFn(); // this should call your mock defined above
expect(window.location.reload).toHaveBeenCalled(); // assert the call
window.location.reload.mockRestore(); // restore window.location.reload to its original function
Для более улучшенного теста вы можете использовать
expect(window.location.reload).toHaveBeenCalledWith(true);
Следует отметить, что на самом деле это не проверка того, что окно перезагружается, что выходит за рамки юнит-теста. Что-то вроде тестирования браузера или интеграции может подтвердить это.