私は現在、k秒ごとにn回アクションを実行する、シンプルなタイマーベースのミニアプリをC#で作成しています。
私はテスト駆動開発スタイルを採用しようとしているので、私の目標はアプリのすべての部分を単体テストすることです。
だから、私の質問は:タイマーベースのクラスをユニットテストする良い方法はありますか?
問題は、私が見ているように、テストの実行に不快な時間がかかるという大きなリスクがあることです。これは、テストが目的のアクションが発生するまで非常に長く待たなければならないためです。
特に、フレームワークで許可されている最小の時間分解能(1ミリ秒?)を使用する代わりに、現実的なデータ(秒)が必要な場合。
アクションにモックオブジェクトを使用して、アクションが呼び出された回数を登録しているので、アクションは実質的に時間がかかりません。