使用构造函数mockito模拟对象

时间:2014-07-04 07:34:50

标签: java spring web-services junit mockito

我有课

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");

}

1 个答案:

答案 0 :(得分: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);

非常重要的是要知道您之前的模拟可能会限制您的模拟代码,我希望它可以帮助您。