0

タイマーを使用して定期的に関数を呼び出すコンポーネントがあります。外部から、そのタイマーのレートを設定できます。

これをテストするのは基本的に簡単です。タイマーを設定し、しばらく待って、関数の呼び出しを数え、期待したものと比較します。

タイマーを無効にするオプションもあります。どうすればそれをテストできますか?

タイマーが x+1 で呼び出す可能性があるため、時間 x を待機するだけでは十分ではありません。

より良いアプローチはありますか?

4

1 に答える 1

1

あなたの言語の機能をテストしようとしないでください。js がメソッドを提供する場合はsetInterval、それが機能すると仮定します。setIntervalコードが正しく呼び出す場合にテストする必要があるもの。私はjsのテストについてあまり知りませんが、できればモックして、呼び出されたかどうかを確認してください。モックできない場合は、もう 1 レベルの間接化を使用してください。タイマー用の独自のラッパーを作成します-ロジックなしで、呼び出しを渡すだけです。次に、テストで、そのラッパーが呼び出されたかどうかを確認できます。テストで待機/スリープを使用するのは避けたい

于 2013-01-01T14:16:11.467 に答える