[英]How do I mock an object of a class with parameterized constructor?
For the code 对于代码
public class A{
public A (B b, C c){
//do something here
}
}
For testing, I wanted to create a mock object. 为了进行测试,我想创建一个模拟对象。 What I am doing now is
我现在正在做的是
B bmock = mock(B);
C cmock = mock(C);
A aobject = new A(bmock, cmock);
However, this doesn't allow me call verify() on aobject as it is not mocked. 但是,这不允许我在对象上调用verify(),因为它没有被模拟。 How to do that?
怎么做?
You could use a Spy
: 您可以使用
Spy
:
A aobject = spy(new A(bmock, cmock));
So you are actually calling the implementation of A
but can still verify interactions. 因此,您实际上是在调用
A
的实现,但仍可以验证交互。
See the doc for details: http://site.mockito.org/mockito/docs/current/org/mockito/Mockito.html#spy(T) 有关详细信息,请参见文档: http : //site.mockito.org/mockito/docs/current/org/mockito/Mockito.html#spy(T)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.