Mockitoはクラスの偽のオブジェクトを作ってくれます。
when().thenReturn()
を利用して、public
メソッドの戻る値を指定できます。1
2
3
4
5
6
public void add_with_when() {
List<String> mockedList = mock(List.class);
when(mockedList.size()).thenReturn(10);
assertThat(mockedList.size(), is(10));
}
ここは1つ注意しなければならないことがあります。モックで作成したオブジェクトの全てのメソッドが偽物になります。下記のadd()
はモックされたため、リストに追加する処理はありません。1
2
3
4
5
6
7
public void add_without_when() {
List<String> mockedList = mock(List.class);
mockedList.add("A");
mockedList.add("B");
mockedList.add("C");
assertThat(mockedList.size(), is(0));
Answers.CALL_REAL_METHODS
を利用すれば、本物のメソッドを呼べます。
1 |
|