[解決済み] Java 8のjava.time APIで時間をモック化する
2022-11-11 23:11:11
質問
Joda Timeは素敵な DateTimeUtils.setCurrentMillisFixed()があります。 を使って時間を模擬することができます。
テストでは非常に実用的です。
に相当するものはありますか? Java 8のjava.time API ?
どのように解決するのですか?
一番近いのは
Clock
オブジェクトです。Clock オブジェクトは好きな時間を使って(あるいはシステムの現在時刻から)作成することができます。 すべての date.time オブジェクトにはオーバーロードされた
now
メソッドがあり、現在の時刻の代わりにClockオブジェクトを受け取ります。 したがって、依存性注入を使用して、特定の時刻を持つClockを注入することができます。
public class MyBean {
private Clock clock; // dependency inject
...
public void process(LocalDate eventDate) {
if (eventDate.isBefore(LocalDate.now(clock)) {
...
}
}
}
参照 クロックのJavaDoc を参照してください。
関連
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException:5 エラー
-
配列定数は初期化子でのみ使用可能です。
-
アノテーション「@Retention」の役割
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] フェイク、モッキング、スタビングの違いとは?
-
[解決済み] java.time.LocalDateTimeとjava.util.Date間の変換について
-
[解決済み】Java 8 の Date Time API (java.time) と Joda-Time の相違点
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Eclipseは、ポップアップA Java Exception has occurred.を実行し、エラーException in threadの解決策を報告します。
-
executeQuery()でデータ操作文が発行できない。解決方法
-
Javaクラスが "Error occurred during initialization of boot layer "というエラーで実行される。
-
StringBuilderが投げるArrayIndexOutOfBoundsExceptionの探索
-
java -jarコマンドでパッケージを実行すると、無効または破損したjarfile xxxx.jarが表示される。
-
SpringBoot 起動エラー java.nio.charset.MalformedInputException: 入力長 = 2 解決
-
eclipse 実行 Java、エラー: 選択を起動できず、レシーバーもありません。
-
ecplise プロンプトが表示されます。"選択したものは起動できません。" "最近の起動はありません。"
-
Java JDKのダイナミックプロキシ(AOP)の使用と実装の原理分析
-
linux ant Resolve error: main class not found or couldn't be loaded org.apache.tools.ant.launcher.