我有class
Class A {
ServiceClass serviceClass;
public A(ServiceClass obj){
serviceClass = obj;
}
public String methodA(String i){
String j = serviceClass.someMethod(i);
return j;
}
}
这里我有一些方法,我正在调用服务类方法,我已经为服务类创建了模拟对象。
ServiceClass serviceClassMock = Mockito.mock(ServiceClass.class);
A objA = new A(serviceClassMock);
@Test
public void test(){
when(serviceClassMock.someMethod("1")).thenReturn("1");
String j = objA.methodA("1");// here gives me wanted be invoked but not. there where 0 interaction
verify(serviceClassMock).someMethod("1");
}
例如:
Impl a= new Impl("ei");
Impl m = Mockito.mock(Impl.class);
when(m.someCall(Matchers.any(Object.class))).thenReturn(whereverYouWanna);
或更具体的:
when(m.someCall(Matchers.eq(24)).thenReturn(whereverYouWanna);
是非常重要的,知道你以前的模拟可能会限制你的模拟代码,我希望它能帮助你。