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)...
有关更多详细信息,请参阅