Creando clases de test que dependen de tests de otros proyectos

De ChuWiki
  • 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