$timeout
一部のサービスコードでは、たとえば 600ms の遅延で使用しました。対応するテストでは、指定された 600 ミリ秒後にコードが期待どおりに動作することを確認したいと思います。一定の時間で進行する方法はありますか (に似ていjasmine.Clock.tick(600)
ます)? 私は についてしか知りませんが$timeout.flush()
、それは現在 $timeout-queue にあるすべてのものを起動します。
質問する
2221 次
1 に答える
7
AngularJS バージョン 1.2$timeout.flush(600)
では、Jasmine のjasmine.Clock.tick(600)
.
それに加えて、Angular 1.2 は非常に便利な$timeout.flushNext(msec)
方法を提供します。とは異なり、flush(msec)
指定された時間を単純に進めて、予想されることが起こったかどうかを確認するのではなく、flushNext()
メソッドが両方のタスクを一度に実行します。次の遅延イベントが発生するまで時計を進めてから、経過時間が指定された時間と等しいことを確認します。
于 2013-09-16T15:04:29.683 に答える