Я использую Mochito и не могу вернуть ложный ответ для вызова API, который выполняется с помощью marshalSendAndReceive.
Здесь приведен вызов API службы (где serviceRequest имеет тип ValidateRequst, а HeaderComposingCallback реализует WebServiceMessageCallback)
public class ValidateClient extends WebServiceGatewaySupport {
...
ValidateResponse serviceResponse = (ValidateResponse) getWebServiceTemplate().marshalSendAndReceive(
serviceRequest, new HeaderComposingCallback(reqId));
..
}
Вот Mock в тесте JUnit, validateResponse - объект, созданный имеет заполненные значения, но во время выполнения модульного теста ниже код всегда возвращает нулевой ответ.
@RunWith(MockitoJUnitRunner.class)
public class ValidateServiceTest {
@Mock
WebServiceTemplate template;
....
when(template.marshalSendAndReceive(any(ValidateRequest.class),(WebServiceMessageCallback) any(HeaderComposingCallback.class))).thenReturn(validateResponse);
..
}
Ожидается получение validateResponse, который не является нулевым объектом.