У меня есть клиент jersey, например
public ClientResponse getCall(String apiName){
restClient = getRestClient();
WebResource webResource = restClient
.resource(Constants.FUELWISE_END_POINT+apiName);
return webResource.accept(Constants.APPLICATION_JSON)
.header(Constants.AUTHORIZATION_HEADER, Constants.AUTHORIZATION_VALUE).get(ClientResponse.class);
}
, и строка теста mockito, например:
@Test
public void getCallTest() {
when(restClient.resource(any(String.class))).thenReturn(webResource);
when(webResource.accept(any(String.class)).header(any(String.class), any(Object.class))
.get(eq(ClientResponse.class))).thenReturn(clientResponse);
restUtilityTest.getCall("messages");
}
, имеет расширенный тестовый класс java для возврата mock restClient вместо Client.create ()из метода getRestClient ()
с использованием аннотаций для макетирования с использованием @ Mock
Ошибка трассировки стека:
This message may appear after an NullPointerException if the last matcher is returning an object
like any() but the stubbed method signature expect a primitive argument, in this case,
use primitive alternatives.
Макетирование выполнено в файле тестового примера:
@InjectMocks
private RestUtilityTest restUtilityTest;
@Mock
private Client restClient;
@Mock
private WebResource webResource;
@Mock(name = "response")
private ClientResponse clientResponse;