Creando clases de test que dependen de tests de otros proyectos
- En ocasiones codificamos clases para realizar un test de Junit que son reutilizables y nos gustaría tenerlas disponibles en otro proyecto
- Por supuesto maven también tiene prevista esta posibilidad, mediante un plugin: maven-jar-plugin
- Tenemos que hacer dos cosas:
En el proyecto que contiene las clases que queremos reutilizar: incluir las clases de test en el jar
<project> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <executions> <execution> <goals> <goal>test-jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
Ahora, cada vez que hagamos un mvn compile, install... se incluirán las clases de test En el proyecto que va a reutilizar las clases: indicar "de algun modo" a los tests del proyecto donde buscarlas
<project> ... <dependencies> <dependency> <groupId>el grouId</groupId> <artifactId>el artifactId</artifactId> <version>1.0 (la version)</version> <type>test-jar</type> </dependency> </depdendnecies> ... </project>
Al margen de todo esto, si lo único que queremos es crear un jar con los test, con dicho plugin bastará:
- mvn jar:test-jar