タグ

Java8とテストに関するteracy_junkのブックマーク (1)

  • Android: 現在時刻を固定するテストとTestRule

    Fixed current time. 時間に依存したAPIの振る舞いをテストする場合, 現在時刻を固定すればテストをRepeatableに保てます. 現在時刻を固定する次の2通りの方法を実装しました. java.timeを使った方法(Java8以降) java.utilを使った方法(Java7以前) テストの際に現在時刻を固定化する下準備として, 現在時刻を返すAPIをラップしたメソッドを用意します. public static long now() { return <現在時刻を返すAPI> } テストの際には固定時刻を返すように振る舞いを変更してやれば, このAPIに依存しているモジュールからするとあたかも現在時刻が固定化されているように見えます. 目的達成のためには, now()メソッドが常にダミーのepoch timeを返すように振る舞いを差し替える仕組みを用意する必要があります

  • 1