[英]Mocking the call to another method of another class inside the method being tested
我正在测试方法A
,该方法调用另一个类C
另一个方法B
,该方法返回类型D
的Object
。 我想使用mockito
模拟对B()
的调用。 我怎么做?
码:
function A()
{
/*some code here*/
C c = createC();
D d= null;
d = c.B(args);
/*some code here*/
}
首先,不是创建C
的实际实例,而是创建它的Test Double
版本,如下所示:
// Let's import Mockito statically so that the code looks clearer
import static org.mockito.Mockito.*;
// mock creation
C mockedC = mock(C.class);
然后在mockedC
发生某些事情时定义您的期望 ,例如:
when(mockedC.B(args)).thenReturn(new D());
它说,每当有人在mockedC
的D
上调用B(args)
, mockedC
返回D
的实例。
最后,您可以根据预期的互动来验证实际的互动,例如:
verify(mockedC)...
有关更多详细信息,请参见文档 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.