Saltar al contenido

Simulando una llamada REST con MockRestServiceServer

Solución:

Cuando creas una instancia de MockRestServiceServer deberías usar una instancia existente de RestTemplate que está siendo utilizado por su código de producción. Así que intenta inyectar RestTemplate en su prueba y utilícelo al invocar MockRestServiceServer.createServer – no crees nuevo RestTemplate en tus pruebas.

Parece que está intentando probar el rest-client, el rest-server debería probarse en otro lugar. Estás usando RestTemplate -> Para llamar al servicio. Luego, traté de burlarse de RestTemplate y los resultados de su llamada.

@Mock
RestTemplate restTemplateMock;

y servicio bajo clase de prueba

@InjectMocks
Service service;

Digamos, Service tiene un método para ser probado como

public void filterData() {
   MyResponseModel response = restTemplate.getForObject(serviceURL, MyResponseModel.class);
   // further processing with response
}

Luego, para probar el método filterData, debe simular la respuesta de la llamada restTemplate como

mockResponseModel = createMockResponse();
Mockito.when(restTemplateMock.getForObject(serviceURL, MyResponseModel.class)).thenReturn(mockResponseModel);

service.filterData();
//Other assert/verify,... go here
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *