Mockitoの概要とコード例
2420 ワード
Mockitoの概要と例
Mockitoはオープンソースのmockツールパッケージでもあり、EasyMockとは異なる場合は、これらの動作を録画、再生する必要がなく、文法的に柔軟で、読みやすさが向上します.
公式サイト:mockito公式ドキュメント:mockito.html
サンプルコード
1.mavenエンジニアリングではまずpomパッケージを導入:
2.テストクラスに静的リソースを導入する
3.次の機能をサポートします.(ソースは公式ドキュメントから)動作が に呼び出されたかどうかを検証する.ピン:mockオブジェクトのメソッドを所望の値に戻すstubを過ぎない戻り値のあるメソッドに対して、デフォルト値(0,false,nullなど) を返す.
繰り返しstubパラメータマッチングget(任意の整数)を実現したい場合はnullを返します.どうすればいいですか?
多くのarguments matcherがあります.More ArgumentMatchers Argumentを参照してカスタマイズをサポートします.認証方法は、特定回数/少なくともx回/最大x回/未呼び出し を呼び出す.メソッド呼び出し時に例外 を投げ出す.順序の1つのmockオブジェクトを検証する方法は、特定の順序で複数のmockオブジェクトを呼び出す、特定の順序で複数の を呼び出す.
ここで、杭挿入(stubbing)mockオブジェクトの戻り値は、テストで最も一般的に使用されます.
Mockitoはオープンソースのmockツールパッケージでもあり、EasyMockとは異なる場合は、これらの動作を録画、再生する必要がなく、文法的に柔軟で、読みやすさが向上します.
公式サイト:mockito公式ドキュメント:mockito.html
サンプルコード
1.mavenエンジニアリングではまずpomパッケージを導入:
org.mockito
mockito-core
2.7.12
test
2.テストクラスに静的リソースを導入する
import static org.mockito.Mockito.*;
3.次の機能をサポートします.(ソースは公式ドキュメントから)
//create mock
List mockedList = mock(List.class);
//use mock object
mockedList.add("one");
mockedList.clear();
// add , “one”。clear 。
verify(mockedList).add("one");
verify(mockedList).clear();
// 。 add("two")。
verify(mockedList).add("two");
//stubbing。 get(0) , "first". get(1) , 。
when(mockedList.get(0)).thenReturn("first");
when(mockedList.get(1)).thenThrow(new RuntimeException());
繰り返しstub
// stub, , "second":
when(mockedList.get(0)).thenReturn("first");
when(mockedList.get(0)).thenReturn("second");
// “first”, “second”。 n 。
when(mockedList.get(0)).thenReturn("first").thenReturn("second");
stub , stub 。
get(0) , "second".
when(mockedlist.get(anyInt())).thenReturn(null);
多くのarguments matcherがあります.More ArgumentMatchers Argumentを参照してカスタマイズをサポートします.
// add("twice") 。
verify(mockedList, times(2)).add("twice");
// add("twice") 。 。
verify(mockedList, atLeastOnce()).add("twice");
verify(mockedList, atLeast(2)).add("twice");
verify(mockedList, atMost(5)).add("twice");
verify(mockedList, never()).add("twice");
doThrow(new RuntimeException()).when(mockedList).clear();
inOrder.verify(firstMock).add("was called first");
inOrder.verify(secondMock).add("was called second");
ここで、杭挿入(stubbing)mockオブジェクトの戻り値は、テストで最も一般的に使用されます.