パスワードバリデーターなどで timer(500) を使って debounce 処理を入れた場合、テストの書き方に工夫が必要です。 普通にテストを書くと、入力後に 0.5 秒経過するのを待ってからじゃないと結果を検証できません。たかが 0.5 秒ですが、テストが増えるたびにこの「待ち時間」が積み重なるのは嫌ですよね。 そこで fakeAsync を使いましょう。 実装のイメージ 例えば、以下のようなバリデーターのテストを想定してみます。 // validator側で 500ms の debounce がある想定 it('500ms経過後にバリデーションが実行されること', fakeAsync(…