/ / JUnit prueba casos utilizando mockito para la API REST que conecta el servidor jasper a la aplicación - java, junit, mockito, jasperserver

Casos de prueba JUnit usando mockito para API REST conectando el servidor jasper a la aplicación - java, junit, mockito, jasperserver

He escrito la API REST que está entre jaspeServidor y mi aplicación. API es básicamente hacer 3 cosas 1. Autenticación en el servidor jasper. 2. Tomar todas las listas de informes actuales del servidor jasper repo a mi aplicación. 3. Ejecutar los informes.
Necesito escribir casos de prueba de junit usando mockito para esta API. Estoy usando el cliente RESTEasy.

Por favor ayúdame soy nuevo en junit y mockito. Por favor, indique si alguien tiene buen ejemplo de ello. Gracias por adelantado.

Respuestas

0 para la respuesta № 1

El código fuente de JASPERSERVER CE (que es público) contiene una gran cantidad de pruebas JUnit que incluyen pruebas REST remotas. Hay en el jasperserver-remote-tests módulo. Hay un entorno para probar REST utilizando un cliente remoto.

También puedes hacer alguna búsqueda int jasperserver-jax-rs-rest módulo. Donde hay muchas pruebas unitarias, pero si tiene el código fuente de PRO jasperserver puede ver los módulos pro REST.


0 para la respuesta № 2

Cuando estás escribiendo pruebas de unidad típicamentedesea burlarse de los sistemas externos con los que está interactuando, en lugar de interactuar con la realidad. De lo contrario, las pruebas de su unidad dependen de que el sistema externo esté en funcionamiento.

Lo que se burla depende de su propio código y de la interfaz que tenga con ese sistema externo. Con RESTEasy quizás tendrías algo como esto:

    String expectedResponseFromJasperServer = ".....";

ClientRequest request = mock(ClientRequest.class);
ClientResponse<String> response = mock(ClientResponse.class);
when(request.get(String.class)).thenReturn(response);
when(response.getEntity()).thenReturn(expectedResponseFromJasperServer);

Esto luego se burlará de la respuesta que regresa del servidor a lo que quiera que sea y también para que pueda asegurarse de que su código maneje esa respuesta específica.