2015-09-25 5 views

答えて

34

を実行しているとき、時間を変更するために何ができるか、LocalDate.now(clock);LocalDate.now()を交換してください。

その後、テストのための生産のためのClock.systemDefaultZone()a fixed clockを渡すことができます。

+3

これは受け入れられる回答である必要があります。 – GedankenNebel

0

また、別のエンティティとのリクエストで「今」一貫性のない使用を避けるために、生産における固定クロック(トランザクションの開始時に固定された値)を渡したいかもしれません。 詳細はthis questionを参照してください。

2

たとえば、LocalDate.now()のすべての呼び出しをカスタムのモック可能な非静的クラスの呼び出しと置き換えるなど、コードをリファクタリングしてテストにやさしくすることができます。

また、あなたはPowerMock's mockStaticを使用することができます。