Как мне издеваться над HTTPSClient почтовый сервис - PullRequest
0 голосов
/ 01 марта 2019

Я хочу смоделировать следующую строку кода:

ResponseEntity<String> response = client.callPostService(url, dto, new ParameterizedTypeReference<String>(){});

Попытка

@Test
public void testFunction{
    HTTPSClient client = Mockito.mock(HTTPSClient.class);
    Mockito.when(client.callPostService(any(String.class),any(Dto.class), new ParameterizedTypeReference<String>{}))
}

Я получаю ошибки относительно параметров, которые я разместил.

1 Ответ

0 голосов
/ 02 марта 2019

Вы не должны смешивать параметры сопоставления аргументов Mockito (например, any (), eq () и т. Д.) И реальные объекты при настройке поведения для макета.

Так что в вашем случае следующее будет правильным:

Mockito.when(client.callPostService(any(String.class),any(Dto.class), Mockito.any(ParameterizedTypeReference.class))).thenReturn(...)

или (начиная с Java 8):

Mockito.when(client.callPostService(any(String.class),any(Dto.class), Mockito.any())).thenReturn(...)

Последний также не вызывает предупреждение компилятора о непроверенном приведении универсального типа из-за расширенного вывода типа.

...