時間依存のメソッドをテストするための標準的/推奨される方法は何ですか?
例として:
Foo
メソッドを持つクラスがあり、GetTimestamp()
常に辞書順 (アルファベット順) に増加GetTimestamp()
する特定の時間を返す必要があります。string
テスト目的でオーバーエンジニアリングせずにこれをテストする最良の方法は何ですか?
IDateTimeProvider
私の最初の考えは、唯一のプロパティがプロパティであるを受け入れるクラス コンストラクターを作成することでしたDateTime
。その後、単体テストから、ダミーの DateTimeProvider を作成できました...
これは単純なケースですが、私が疑問に思っていることを表しています。
これには、うるう年の前後の日付依存ロジックのテストなど、他にも多くの用途があります。