每个钩子错误之前的角度因果报应幻影
Angular karma phantom before each hook error
我用因果报应和幻影运行我的测试,我使用摩卡和西农,有时测试通过,有时毫无理由地我会出现以下错误:
✖ "before each" hook: workFn
✔ should call get user api
✖ "after each" hook for "should call get user api"
Finished in 1.04 secs / 0.2 secs
SUMMARY:
✔ 42 tests completed
✖ 3 tests failed
FAILED TESTS:
UserService
✖ "before each" hook: workFn
PhantomJS 1.9.8 (Mac OS X 0.0.0)
TypeError: 'null' is not an object (evaluating 'document.querySelector('.arrow' + index).classList') (public/client/build/main.js:3195)
✖ "after each" hook for "should call get user api"
PhantomJS 1.9.8 (Mac OS X 0.0.0)
PhantomJS 1.9.8 (Mac OS X 0.0.0)
TypeError: 'null' is not an object (evaluating 'currentSpec.$injector')
at public/vendor/angular-mocks/angular-mocks.js:2229
是什么原因导致了这个问题?
根据我的经验,使用Karma和/或PhantomJS的DOM调用可能是个问题。PhantomJS中的DOM操作与标准浏览器不同,因此,它在GUI操作中经常出错。
我的建议(尽管这可能不是最好的)是监视或模拟你在document
之外使用的文档方法,因为它们的作用无论如何都不在你的掌控之中。
因果报应输出清楚地突出了问题,不是吗?
'document.querySelector('.arrow' + index).classList'
选择器在元素上找不到,所以undefined的classList
为null。你需要调查一下。
相关文章:
- 为什么不'当单元测试出现解析错误时,我的因果报应测试会失败
- 因果报应-找不到模块:错误:无法解析模块'scs'
- 如何将因果报应测试报告上传到声纳
- 因果报应,幻影JS和es6承诺
- AngularJS因果报应测试规范承诺未解析,且未调用.then()
- 如何使用console.log在因果报应测试中检查函数
- $routeUpdate未在角因果报应单元测试中广播
- 因果报应测试
- 通过因果报应测试管理angularjs控制器初始化
- 因果报应并没有执行测试用例
- ngRoute不是因果报应实例化的
- 巴贝尔/因果报应/柴给出类型错误:'呼叫者''被叫',和'自变量'在严格模
- 因果报应-如何指向类型脚本覆盖的源地图
- 无法让因果报应运行我的Angular2测试
- 如何用新版本的因果报应取代被弃用的吞咽因果报应
- 将角度控制器添加到因果报应覆盖(伊斯坦布尔)代码覆盖预处理器
- 节点包因果报应没有在没有信息的情况下运行
- 因果报应单元测试'未定义'不是函数错误
- 因果报应测试中的未知提供者
- 每个钩子错误之前的角度因果报应幻影