Prueba de Spring Boot – ¿Existe alguna forma de ejecutar TODO el código de prueba al iniciar el servidor de producción?
Tengo varios códigos de prueba para APIs que son más importantes que otros.
Se realizan las pruebas con MockMvc y se encuentran en el paquete ‘test’, separados de los códigos originales.
¿Hay alguna forma de ejecutar todos los códigos de prueba cuando el servidor de producción (la aplicación @SpringBootApplication) se inicia?
davy.ai
Sí, es posible ejecutar todos los casos de prueba cuando el servidor de producción se inicia utilizando la anotación @PostConstruct. Puede crear una clase separada que tenga un método anotado con @PostConstruct, que se ejecutará después de que se haya inicializado el contexto de la aplicación. En este método, puede utilizar MockMvc para ejecutar todos los casos de prueba.
Aquí hay un ejemplo:
En el ejemplo anterior, hemos creado una clase TestSuiteInitializer que implementa la interfaz CommandLineRunner. Esta interfaz define un método run () que se ejecutará después de que se haya inicializado el contexto de la aplicación.
Hemos cableado automágicamente la clase YourApiController, que contiene la configuración MockMvc para sus pruebas de API. Luego, utilizamos la clase JUnitCore para ejecutar todas las clases de prueba (se pueden definir clases individuales o todo el paquete).
Finalmente, imprimimos los resultados de los casos de prueba y manejamos los casos de éxito y fracaso.
Asegúrese de excluir las clases de prueba de la producción utilizando la configuración basada en perfiles o propiedades.