我有一個名爲Service.class AA服務類和命名的A.class和B.class 服務類兩類具有基於類對象的& B.那麼如何創建它的Mockito調用方法的方法A & B的對象,以便我可以在服務類方法中傳遞該mockito對象。這是JUnit測試所需的。 例如。 Service.class的JUnit使用的Mockito
class Service {
A a;
Response response;
public Service(){
}
public Service(A a, B b){
this.a= a;
this.b = b;
}
public Respose test(InputStream i,InputStream i1){
InputStream inStreamA = a.method1(i,i1);
Response response= response.method2(inStreamA);
return response;
}
and in Response.class
public Response method2(InputStream i1)){
return Response.ok().build();
}
編輯: 我的JUnit類 我已經在測試中創建兩個類
A mockedA = mock(A.class);
Response mockedResponse = mock(Response.class);
when(mockedA.method1(new ByteArrayInputStream("test").getByte()).thenReturn(InputStream);
when(mockedResponse.method2(new ByteArrayInputStream("test").getByte()).thenReturn(Res);
Service service = new Service(mockedA , mockedResponse);
Response i = service.test(new ByteArrayInputStream("test").getByte(), new ByteArrayInputStream("test1").getByte());
System.out.print(response);
assertEquals(200,response.getStatus());
// but here i am getting null pointer
Mockito.mock(的A.class)同樣爲B.它會給你的嘲笑對象。這是你想要的嗎? – ppuskar
@ppuskar請看看我的編輯我已經做了,但嘲笑使用此assertNotNull(mockedA)和mockedB以後,得到空 – user3060230
。它會讓你確認如果模擬對象爲空或空指針是由於模擬類的方法 – ppuskar