window.location.assign的Javascript测试不起作用

时间:2018-07-14 21:39:52

标签: javascript testing

我正在尝试测试重定向到外部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是否需要一些特殊处理?我在这里做什么错了?

0 个答案:

没有答案