Я пытаюсь вернуть ожидаемое значение из смоделированного метода.
TestClass testClass = TestClass.getInstance();
ClassToMock classToMock = Mockito.mock(ClassToMock.class);
testClass.setClassToMock(classToMock);
ExpectedObject expectedObject = new ExpectedObject("1", "2", "3");
when(classToMock.method(ArgumentMatchers.anyString(), ArgumentMatchers.anyBoolean(),
ArgumentMatchers.any(A.class), ArgumentMatchers.any(B.class))
.thenReturn(expectedObject);
testClass.invokeTestMethod();
TestClass и invokeTestMethod имеют следующий вид:
public class TestClass {
private ClassToMock classToMock;
public void invokeTestMethod() {
ExpectedObject expectedObj1 = classToMock.method("A", "B", null, null);
::
::
ExpectedObject expectedObj2 = classToMock.method("X", "Y", null, null);
::
::
ExpectedObject expectedObj3 = classToMock.method("P", "Q", null, null);
::
::
}
public void setClassToMock(ClassToMock ctm) {
this.classToMock = ctm;
}
}
Я установил экземпляр classToMock для TestClass, чтобы убедиться, что TestClass работает на экземпляре mock.
Чтобы сделать проблему более понятной, вызов метода происходит для смоделированного объекта (classToMock), но ожидаемое возвращаемое значение (ExpectedObject) не приходит.