Wil*_*arp 5 jasmine typescript angular
Angular 测试指南中有关使用异步服务测试组件的部分指出:
使用 编写测试函数虽然比和
done更麻烦,但却是一种可行且有时是必要的技术。例如,在测试涉及 的代码时,您不能调用或,这在测试异步方法时很常见。asyncfakeAsyncasyncfakeAsyncintervalTimerObservable
有谁知道什么intervalTimer是或为什么不能从async或进行测试asyncFake?
最intervalTimer有可能引用setInterval或任何其他计时器功能,并且它不能与async或 一起使用的原因fakeAsync是因为async(根据我的理解)通常使用whenStable上的函数ComponentFixture,并且whenStable永远不会真正被调用,因为计时器承诺永远不会完成。使用fakeAsync实际上会抛出一个错误,因为它尝试同步执行测试,但当它完成时,它检测到仍然有一个承诺尚未解决,因此它会抛出一个错误。
我通过在 Angular 的 GitHub 存储库上发布问题得到了这个信息。这是该问题的链接:https ://github.com/angular/angular/issues/20711
关于 的部分whenStable不在那个问题中,但根据我自己的研究,它看起来像whenStable和async通常一起使用。
| 归档时间: |
|
| 查看次数: |
508 次 |
| 最近记录: |