を模擬することができ、私はテスト時間に敏感な方法を必要とし、我々は、Java 8クラスLOCALDATEを使用しているという方法では、ジョダではありません。はどのように私は私のテストケースでjava.time.LocalDate.now()
私は私はあなたのコードでは、テスト
を模擬することができ、私はテスト時間に敏感な方法を必要とし、我々は、Java 8クラスLOCALDATEを使用しているという方法では、ジョダではありません。はどのように私は私のテストケースでjava.time.LocalDate.now()
私は私はあなたのコードでは、テスト
を実行しているとき、時間を変更するために何ができるか、LocalDate.now(clock);
でLocalDate.now()
を交換してください。
その後、テストのための生産のためのClock.systemDefaultZone()
とa fixed clockを渡すことができます。
また、別のエンティティとのリクエストで「今」一貫性のない使用を避けるために、生産における固定クロック(トランザクションの開始時に固定された値)を渡したいかもしれません。 詳細はthis questionを参照してください。
たとえば、LocalDate.now()
のすべての呼び出しをカスタムのモック可能な非静的クラスの呼び出しと置き換えるなど、コードをリファクタリングしてテストにやさしくすることができます。
また、あなたはPowerMock's mockStaticを使用することができます。
これは受け入れられる回答である必要があります。 – GedankenNebel