对于代码
public class A{
public A (B b, C c){
//do something here
}
}
为了测试,我想创建一个模拟对象。我现在正在做的是
B bmock = mock(B);
C cmock = mock(C);
A aobject = new A(bmock, cmock);
但是,这不允许我在对象上调用 verify(),因为它没有被模拟。怎么做?
对于代码
public class A{
public A (B b, C c){
//do something here
}
}
为了测试,我想创建一个模拟对象。我现在正在做的是
B bmock = mock(B);
C cmock = mock(C);
A aobject = new A(bmock, cmock);
但是,这不允许我在对象上调用 verify(),因为它没有被模拟。怎么做?
您可以使用Spy
:
A aobject = spy(new A(bmock, cmock));
所以你实际上是在调用实现,A
但仍然可以验证交互。
有关详细信息,请参阅文档: http://site.mockito.org/mockito/docs/current/org/mockito/Mockito.html#spy(T)