¿Cómo puede depender del código de prueba de otro módulo en Maven?
Ejemplo, tengo 2 módulos:
- Base
- Principal
Me gustaría un caso de prueba en Main para extender una clase de prueba base en Base. es posible?
Actualización: se encontró una respuesta aceptable , que implica crear un frasco de prueba.
Respuestas:
Recomiendo usar type en lugar de clasificador (ver también: clasificador ). Le dice a Maven un poco más explícitamente lo que está haciendo (y he descubierto que a m2eclipse y q4e les gusta más).
fuente
Gracias por la sugerencia del módulo base. Sin embargo, prefiero no crear un nuevo módulo solo para este propósito.
Encontré una respuesta aceptable en la documentación de Surefire Maven y en un blog . Consulte también " Cómo crear un jar que contiene clases de prueba ".
Esto crea un archivo jar de código a partir del
src/test/java
uso del complemento jar para que los módulos con pruebas puedan compartir código.Para utilizar el JAR de prueba adjunto que se creó anteriormente, simplemente especifique una dependencia en el artefacto principal con un clasificador de pruebas especificado:
fuente
Resolvimos esto haciendo un proyecto maven con código de prueba como src / main / java y agregando la siguiente dependencia a los proyectos:
fuente
Sí ... solo incluya el módulo Base como una dependencia en Main. Si solo está heredando el código de prueba, puede usar la etiqueta de alcance para asegurarse de que Maven no incluya el código en su artefacto cuando se implemente. Algo como esto debería funcionar:
fuente