Button 按钮测试 link的时候总会出现这个 error 怎么解决
来源:5-5 添加Button 测试代码 第二部分

WOW林勇强
2020-04-01
console.error node_modules/jsdom/lib/jsdom/virtual-console.js:29
Error: Not implemented: navigation (except hash changes)
at module.exports (/Users/linyongqiang/workSpace/my_project/fh-ui/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)
at navigateFetch (/Users/linyongqiang/workSpace/my_project/fh-ui/node_modules/jsdom/lib/jsdom/living/window/navigation.js:77:3)
at exports.navigate (/Users/linyongqiang/workSpace/my_project/fh-ui/node_modules/jsdom/lib/jsdom/living/window/navigation.js:55:3)
at Timeout.setTimeout (/Users/linyongqiang/workSpace/my_project/fh-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHyperlinkElementUtils-impl.js:81:7)
at ontimeout (timers.js:436:11)
at tryOnTimeout (timers.js:300:5)
at listOnTimeout (timers.js:263:5)
at Timer.processTimers (timers.js:223:10) undefined
我在网上看了原因,是因为 JSDOM does not implement methods like window.alert, window.location.assign。但是怎么解决呢,一直没办法消除这个错误,虽然不影响整体测试
写回答
1回答
-
张轩
2020-04-02
同学你好,你是在点击回调里面写了 window.alert 这样的方法吗?我建议你不要这样写,这个和单元测试没有任何关系,我们只需要使用 haveBeenCalled 测试,属性中的方法是否成功被调用就可以了。如果要消除错误,可以继续往下看,后面的章节有方法mock 掉一些第三方的对象,比如 window 对象,下面这篇文档写了 mock window 的方法, 你可以看看 https://gist.github.com/remarkablemark/5cb571a13a6635ab89cf2bb47dc004a3
00
相似问题