1. ホーム
  2. java

時間依存のユニットテスト

2023-07-30 03:06:20

質問

私は、結果が現在の時刻に依存する関数をテストする必要があります(Joda timeの isBeforeNow() を使用しています)。

public boolean isAvailable() {
    return (this.someDate.isBeforeNow());
}

この関数を確実にテストできるように、(例えばMockitoを使って)システム時間をスタブ/モックアウトすることは可能でしょうか?

どのように解決するのですか?

Joda time は、quot;fake" の現在時刻の設定をサポートしています。 setCurrentMillisFixedsetCurrentMillisOffset メソッドの DateTimeUtils クラスのメソッドです。

参照 https://www.joda.org/joda-time/apidocs/org/joda/time/DateTimeUtils.html