我刚刚开始使用Jasmine编写现有Angular应用程序的单元测试,大约50%的时间,我遇到以下错误:
Chrome 72.0.3626(Mac OS X 10.14.3)错误{ “ message”:“在afterAll \ nUncaught TypeError中引发了错误:无法读取未定义的引发的属性'subscribe'”, “ str”:“在afterAll \ nUncaught TypeError中引发了错误:无法读取未定义引发的属性'subscribe'”} Chrome 72.0.3626(Mac OS X 10.14.3):执行131之148(1失败)错误(51.175秒/ 50.533秒)
另外50%的时间,所有测试都通过了,没有任何问题。
此错误消息的主要问题是茉莉花没有告诉我问题出在哪里,而如果我在我的任何测试(例如expect(true).toBe(false)
)中写东西,那么茉莉花就会告诉我{{1 }}失败。
如何找到此错误的来源?有人遇到过茉莉花不一致的事吗?
感谢所有帮助!
答案 0 :(得分:0)
经过数小时的挖掘,终于解决了该问题。
在karma.conf.js
中将random标志设置为false后,控制台中的错误消息开始变得更加有意义。
module.exports = function(config) {
config.set({
client: {
jasmine: {
random: false
}
}
})
}
在我们的案例中,由于未正确处理其中一个组件中的异步调用,我们的测试之一失败了。删除该测试可解决不一致问题。
即使控制台中的消息仍然无法查明错误的始发者,它也至少能够显示错误来自的组件/测试套件。
答案 1 :(得分:-1)
我遇到了类似的问题。似乎我的问题在无法读取属性'appendChild'中。我也是单元测试的新手,似乎无法弄清楚。
10% building modules 2/2 modules 0 active26 02 2019 12:14:37.196:WARN [karma]: No captured browser, open http://localhost:9876/
26 02 2019 12:14:37.199:INFO [karma]:Karma v3.0.0服务器从http://0.0.0.0:9876/开始
26 02 2019 12:14:37.199:INFO [启动器]:启动浏览器Chrome,并发无限
26 02 2019 12:14:37.213:INFO [启动器]:启动浏览器Chrome
26 02 2019 12:14:43.944:WARN [karma]:未捕获浏览器,打开http://localhost:9876/
26 02 2019 12:14:44.088:INFO [Chrome 72.0.3626(Mac OS X 10.14.3)]:连接到ID为24060242的套接字GLlJTNNpXTfpZNdcAAAA
Chrome 72.0.3626(Mac OS X 10.14.3)错误
{
“消息”:“ afterAll \ nTypeError中引发错误:无法在HtmlReporter.specDone(node_modules / karma-jasmine-html-reporter / src / lib / html.jasmine处的\ n处读取null \ n的属性'appendChild' report.js:150:15)\ n在\ n在ZoneQueueRunner.push ../ node_modules / zone.js / dist / jasmine-patch.js.jasmine.QueueRunner.ZoneQueueRunner.execute(http://localhost:9876/node_modules/zone.js/dist/jasmine-patch.js?:250:1)\ n在 ”,
“ str”:“在afterAll \ nTypeError中引发错误:无法在HtmlReporter.specDone(node_modules / karma-jasmine-html-reporter / src / lib / html.jasmine。 report.js:150:15)\ n在\ n在ZoneQueueRunner.push ../ node_modules / zone.js / dist / jasmine-patch.js.jasmine.QueueRunner.ZoneQueueRunner.execute(http://localhost:9876/node_modules/zone.js/dist/jasmine-patch.js?:250:1)\ n在 ”
}
Chrome 72.0.3626(Mac OS X 10.14.3):执行1 of 41错误(0秒/0.011秒)