如何模拟HTTPSCLIENT POST SERVICE



我想模拟以下代码的行:

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>{}))
}

我会发现我所放置的参数的错误。

您不应该混合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(...)

后者还没有提出有关不受限制的通用类型铸件的编译器警告,因为推理增强了。

相关内容

  • 没有找到相关文章

最新更新