Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 模拟对正在测试的方法中另一个类的另一个方法的调用_Java_Unit Testing_Jakarta Ee_Mocking - Fatal编程技术网

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

Java 模拟对正在测试的方法中另一个类的另一个方法的调用,java,unit-testing,jakarta-ee,mocking,Java,Unit Testing,Jakarta Ee,Mocking,我正在测试一个方法a,该方法调用另一个不同类C的方法B,该方法返回类型为D的对象。我想使用mockito模拟对B()的调用。我该怎么做 代码: 首先,不要创建C的实际实例,而是创建它的testdouble版本,如下所示: // Let's import Mockito statically so that the code looks clearer import static org.mockito.Mockito.*; // mock creation C mockedC = mock(C

我正在测试一个方法
a
,该方法调用另一个不同类
C
的方法
B
,该方法返回类型为
D
对象。我想使用
mockito
模拟对
B()
的调用。我该怎么做

代码:


首先,不要创建
C
的实际实例,而是创建它的
testdouble
版本,如下所示:

// 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());
verify(mockedC)...
它说,每当有人在
mockedC
上调用
B(args)
时,就会返回
D
的实例

最后,您可以验证实际交互与预期交互,例如:

when(mockedC.B(args)).thenReturn(new D());
verify(mockedC)...

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

首先,不要创建
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());
verify(mockedC)...
它说,每当有人在
mockedC
上调用
B(args)
时,就会返回
D
的实例

最后,您可以验证实际交互与预期交互,例如:

when(mockedC.B(args)).thenReturn(new D());
verify(mockedC)...
有关更多详细信息,请参阅