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