Angular 茉莉花找到挂起的计时器

Angular jasmine find hanging timers

我有一个随机失败的测试,错误是 fixture.isStable() 预期为真,5 timer(s) still in the queue. 虽然我试图将 tick 值增加到 1,但似乎没有产生所需的效果。

我知道我可以通过非常大量的时间来打发时间或杀死这个计时器,但我宁愿找到这些计时器。对使用过的组件和模块的分析没有给我任何线索,因为它们没有任何 setTimeoutdelay 或类似的东西。

有没有办法找到这些计时器是什么以及它们是从哪里开始的?

最终我尝试了 flush 而不是 tick 并且当我开始测试时发现内部深处的连接组件之一注入了使用 webpack 的 import 的服务并且失败了。

只有在使用 flush 之后才会出现块加载错误。