Open chenxiaochun opened 5 years ago
当运行单元测试时,如果抛出了下面的异常。说明你的代码中使用了window.location.href,而在 jsdom 环境中并没有location这个对象,所以就抛出了异常。
window.location.href
location
Error: Not implemented: navigation (except hash changes)
解决办法就是将你源代码中的window.location.href替换成window.location.assign(url)。然后在单元测试中使用jest.spyOn(window.location, 'assign').mockImplementation(() => jest.fn())来 mock 这个方法即可解决问题。具体详情可参考 #2112。
window.location.assign(url)
jest.spyOn(window.location, 'assign').mockImplementation(() => jest.fn())
错误异常一
当运行单元测试时,如果抛出了下面的异常。说明你的代码中使用了
window.location.href
,而在 jsdom 环境中并没有location
这个对象,所以就抛出了异常。解决办法就是将你源代码中的
window.location.href
替换成window.location.assign(url)
。然后在单元测试中使用jest.spyOn(window.location, 'assign').mockImplementation(() => jest.fn())
来 mock 这个方法即可解决问题。具体详情可参考 #2112。