2016-11-10 14 views
0

現在のメソッドをテストする方法は?私はmethod1、method2 ..などの内部メソッドに到達することはできません。私はMockitoと異なるテストですべての内部メソッドをテストしようとしています。それは可能ですか?MockitoテストRestClient aSync

@Override 
public void myMethod(JSONObject json, final Listener listener) { 
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 
    StrictMode.setThreadPolicy(policy); 
    RestClientAPI.aSyncPost(url, request, contentType, new JsonHttpResponseHandler() { 
     @Override 
     public void onStart() { 
      super.onStart(); 
      listener.method1(); 
     } 
     @Override 
     public void onSuccess(int statusCode, Header[] headers, JSONObject response) { 
      listener.method2(response); 
     } 
     @Override 
     public void onFailure(int statusCode, Header[] headers, final String responseString, Throwable throwable) { 
      listener.method3(responseString); 
     } 
     @Override 
     public void onFinish() { 
      super.onFinish(); 
      listener.method4(); 
     } 
    }); 
} 

答えて

1

次の行には何かがあります。

@Test 
public void testMyMethodSuccess() { 
    Listener mockListener = mock(Listener.class); 
    myInstance.myMethod(jsonThatWillSucceed, mockListener); 

    verify(mockListener, times(1)).method1(); 
    verify(mockListener, times(1)).method2(Mockito.eq(expectedResponse)); 
    verify(mockListener, times(1)).method4(); 
} 
関連する問題