Closed kilianpg closed 6 years ago
¿Qué mockups se utilizarían en el caso de Kafka y Zookeeper?
Parece (no estoy seguro, me vendría bien una segunda opinión) que ya funciona sin necesidad de arrancar PostgreSQL, pero sigue siendo necesario Kafka y Zookeeper.
Sigue sin pasar los tests, el mismo error que comenté aquí.
He añadido un par de clases que actúan como servidores locales de Kafka y Zookeeper. No puedo comprobar si funcionan del todo correctamente hasta que los tests estén arreglados.
Para las pruebas con Kafka puede ser interesante consultar el capitulo correspondiente de la documentación de spring-kafka: 4.3 Testing Applications
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:
Ver también: Issue: #20, Arquisoft/Inci_e3b_modules#5