Mockito で単体テストを書いているとき、インジェクトされたモックの 1 つでゲッターを呼び出し、返されたオブジェクトからメソッドを呼び出すことがよくあります。
これまでのところ、私は次のようなことをしました:
@Mock
private Randomizer r;
@Mock
private Random random;
@InjectMocks
private NodeGenerator ng = new NodeGenerator();
@Test
public void nodeIsDuplicate() {
when(r.getRandom()).thenReturn(random);
when(random.nextInt(2)).thenReturn(1);
[...]
}
しかし、ランダムをモックアウトして、いつでも秒を設定しなければならないのは、とてももったいないようです。when ステートメントを次のようにする方法はありますか。
when(r.getRandom().nextInt(2)).thenReturn(1);
ランダムをモックアウトする必要がないので、Randomizer モックだけですべてを 1 行で実行できますか?