Mockitoって?
Javaのテスト環境で、モジュールの振る舞いを「モック化」する事ができる。
基本的には以下の流れで使用できる。
- 対象クラス、インターフェイスを指定しモックオブジェクトを取得。
- モックオブジェクトの振る舞いを設定(オプション)
- バリデーション
モック化
mock
メソッドを使用する場合
List mockedList = mock(List.class);
@Mock
アノテーションを使用する場合
public class HogeTest {
@Mock List list;
@Before
public void before() {
MockitoAnnotations.initMocks(this);
}
}
振る舞いを設定
戻り値を設定
when(mockedList.get(0)).thenReturn("zero");
例外のスローを設定
when(mockedList.get(1)).thenThrow(new IllegalArgumentException());
バリデーション
メソッドの呼び出しを確認
verify(mockedList).get(0);
メソッドの呼び出しを確認(非同期)
verify(mockedList, timeout(1000)).get(0);