繁体   English   中英

在要测试的方法中模拟对另一个类的另一个方法的调用

[英]Mocking the call to another method of another class inside the method being tested

我正在测试方法A ,该方法调用另一个类C另一个方法B ,该方法返回类型DObject 我想使用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());

它说,每当有人在mockedCD上调用B(args)mockedC返回D的实例。

最后,您可以根据预期的互动来验证实际的互动,例如:

verify(mockedC)...

有关更多详细信息,请参见文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM