Segregar pruebas unitarias de las pruebas de integración
#56 ouverte le 22 mai 2018
Métriques du dépôt
- Stars
- (0 étoile)
- Métriques de merge PR
- (Métriques PR en attente)
Description
Las pruebas unitarias ejecutadas en la fase mvn test (Maven Surefire Plugin) están pensadas para ejecutarse de forma autónoma sin necesidad de depender de servicios externos como PostgreSQL, Apache Zookeeper, Apache Kafka u el resto de módulos. Por ese motivo deben hacer uso de los mockups o fixtures necesarios como por ejemplo la utilización de bases de datos en memoria sin necesidad de lanzar dichos servicios.
A su vez las pruebas de integración (entre las que se incluyen las de aceptación y rendimiento), ejecutadas en la fase mvn verify (Maven Failsafe Plugin) han sido configuradas para lanzar automáticamente la ejecución de los contenedores (mvn pre-integration-test) y una vez ejecutas exitosamente o no las pruebas, detener también automáticamente los contenedores implicados (mvn post-integration-test).
Dado que la fase de construcción del contenedor (mvn docker:build) precisa que se ejecute previamente la fase de empaquetado (mvn package) y esta a su vez depende de que se ejecuten correctamente las pruebas unitarias (mvn test), dichas pruebas no pueden depender de un contenedor que aun no se ha construido (dependencia cruzada).
Hasta que se solucione este problema, se han desactivado temporalmente la ejecución por defecto de todas las pruebas.
Referencias:
- Testing Unit vs Integration vs Regression vs Acceptance
- Testing in Spring Boot
- Integration testing with Docker and Maven
- Integration testing strategies for Spring Boot microservices
Ver también: Issue: #20, Arquisoft/Inci_e3b_modules#5