我如何模拟 HTTPSClient post 服务
How do I mock 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(...)
由于增强的类型推断,后者也不会引发编译器关于未经检查的泛型类型转换的警告。
我想模拟下面这行代码:
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(...)
由于增强的类型推断,后者也不会引发编译器关于未经检查的泛型类型转换的警告。