我正在尝试测试重定向到外部URL的代码。手动测试表明重定向已发生,但测试无法识别出已调用“ window.location.assign”。代码如下:
function redirectUser(foo) {
if (foo.active) {
window.location.assign("http://newUrl.com");
}
这是测试:
it('redirects to newUrl when active', () => {
redirectUser({"active": true});
const mock = jest.fn(window.location.assign);
expect(mock).toBeCalled();
});
但是,当我运行它时,测试失败并显示以下消息:
expect(jest.fn()).toHaveBeenCalled()
Expected mock function to have been called.
我尝试在window.location.assign上方添加另一个玩具功能,并对其进行了测试,并且确实通过了测试通过。 window.location是否需要一些特殊处理?我在这里做什么错了?