JavaテストパッケージMockito
3691 ワード
JavaテストパッケージMockito
いくつかの基本機能を記録し、Mockitoは主にテストにMockを提供するために使用されます.
ターゲットオブジェクトの代わりにMockを生成
List<String> list = mock(List.class);
ターゲット・オブジェクト・メソッドの戻り結果
私たちはmockオブジェクトの方法を、私たちの考えに従って結果を返します.when()を使用します.then()構文定義.
when(list.get(anyInt())).then(new Answer<String>(){
@Override
public String answer(InvocationOnMock invocation)throws Throwable {
Object[] args = invocation.getArguments();
Integer num = (Integer)args[0];
if( num>3 ){
return "yes";
} else {
throw new RuntimeException();
}
}
});
listを使用する場合getメソッドの場合、パラメータが>3の場合はyesを返します.
doAnswer()という構文も使用できる.when()
doAnswer(new Answer<String>(){
@Override
public String answer(InvocationOnMock invocation)throws Throwable {
Object[] args = invocation.getArguments();
Integer num = (Integer)args[0];
if( num>3 ){
return "yes";
} else {
throw new RuntimeException();
}
}).when(list).get(anyInt());
呼び出し回数と順序の検証
list.get(1);
list.get(4);
// list.get(1)
verify(list).get(1)
// 2 list.get()
verify(list,times(2)).get(anyInt())
Refenrece
http://www.iteye.com/topic/1130812