gpt4 book ai didi

unit-testing - 在 AngularJS 中延迟使用 $timeout-Mock

转载 作者:行者123 更新时间:2023-11-28 19:55:48 27 4
gpt4 key购买 nike

我用过 $timeout延迟例如某些服务代码中为 600 毫秒。在相应的测试中,我想断言代码在给定的 600 毫秒后确实执行了预期的操作。有什么方法可以在一定时间内及时推进(类似于 <a href="http://pivotal.github.io/jasmine/" rel="noreferrer noopener nofollow" title="jasmine">jasmine</a>.Clock.tick(600) )?我只知道 $timeout.flush() ,但这会触发当前在 $timeout-queue 中的所有内容。

最佳答案

在 AngularJS 1.2 版本中,您可以执行 $timeout.flush(600),这类似于 Jasmine 的 jasmine.Clock.tick(600)

除此之外,Angular 1.2 还提供了一个非常方便的 $timeout.flushNext(msec) 方法。它与 flush(msec) 的不同之处在于 flushNext() 不是简单地提前给定时间放置一个时钟让您检查是否发生了预期的事情,而是> 方法同时完成这两项任务。它将时钟提前,直到触发下一个延迟事件,然后验证耗时是否等于给定的时间。

Link to the documentation

关于unit-testing - 在 AngularJS 中延迟使用 $timeout-Mock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17541381/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com