Help us understand the problem. What is going on with this article?

Mockitoチートシート

More than 1 year has passed since last update.

Mockitoって?

Javaのテスト環境で、モジュールの振る舞いを「モック化」する事ができる。

基本的には以下の流れで使用できる。
1. 対象クラス、インターフェイスを指定しモックオブジェクトを取得。
2. モックオブジェクトの振る舞いを設定(オプション)
3. バリデーション

モック化

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);

参考資料

BooookStore
このアカウントで発信する内容は個人検証に基づくものであり、現在所属する会社の公式見解を示すものではありませんし、特定のジムトレーニングを推奨するものでもありません。
https://booookstore.github.io/index.html
tis
創業40年超のSIerです。
https://www.tis.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away