【发布时间】:2019-07-19 08:58:29
【问题描述】:
我刚开始使用 Jasmine 为现有的 Angular 应用程序编写单元测试,大约 50% 的时间,我收到以下错误:
Chrome 72.0.3626 (Mac OS X 10.14.3) 错误 { "message": "在 afterAll 中抛出了一个错误\nUncaught TypeError: Cannot read property 'subscribe' of undefined throwed", “str”:“在 afterAll 中引发了一个错误\nUncaught TypeError:无法读取未定义引发的属性“订阅””} Chrome 72.0.3626(Mac OS X 10.14.3):执行 148 次中的 131 次(1 次失败)错误(51.175 秒/50.533 秒)
另外 50% 的时间,所有测试都顺利通过。
我遇到此错误消息的主要问题是 Jasmine 没有告诉我问题出在哪里,而如果我写了我的任何测试,例如 expect(true).toBe(false),那么 Jasmine 会告诉我 expect(true).toBe(false) 失败的时间和地点。
我怎样才能找到这个错误的来源?有人在 Jasmine 中遇到过任何不一致的情况吗?
感谢大家的帮助!
【问题讨论】:
-
它说 1 FAILED,如果你在 cmd 窗口中向上滚动,它应该告诉你哪个测试失败了。很有可能它因为那个异常而失败了
-
除了日志之外什么都没有。我们的测试结果进入了/src下的一个js-tests.xml文件,但是里面的结果并不一致。
-
@UğurDinç 看起来您在规范中尝试使用的值之一未定义。还有一件事是您在代码中使用任何 Observable 并订阅该 Observable?
标签: angular unit-testing jasmine