Метод повторной выборки JUNIT Exchange не решен - PullRequest
0 голосов
/ 11 апреля 2020

Я пытаюсь написать JUNIT (версия 5) для повторного вызова.

Моя фактическая реализация похожа на приведенную ниже.

ResponseEntity<OrderDocument> responseEntity = restTemplate.exchange(
URL,
HttpMethod.GET,
new HttpEntity<>(headers),
OrderDocument.class, message.getPayload().toString());

Мой пробный вызов

when(restTemplate.exchange(anyString() ,
any(HttpMethod.class)   , 
any(HttpEntity.class) ,
any(OrderDocument.class) ,
any(String.class) )
.thenReturn(responseEntity));

Я получаю сообщение об ошибке компилятора. Не удается разрешить метод 'exchange (java .lang.String, T, T, T, T)'. Я считаю, что мой ложный вызов совпадает с реализацией. Не уверен, почему он не компилируется. .

 ResponseEntity<T> exchange(String url, HttpMethod method, @Nullable HttpEntity<?> requestEntity, 
 Class<T> responseType, Object... uriVariables) throws RestClientException;

1 Ответ

2 голосов
/ 11 апреля 2020

4-й аргумент этого метода - Class.class, а не SalesOrderDocument.class. Вам нужно исправить это (до any(Class.class), fe).

Документы для exchange метода.

...