maven-2 - pom - org apache maven plugin surefire surefirereportparameters jar
¿Hay una manera de decirle a surefire que se salte las pruebas en un paquete determinado? (3)
Algo como lo siguiente.
Me gustaría una manera de saltar mis pruebas de dao en surefire. Tratando de evitar la sobrecarga de definir Suites.
Con CI me gustaría tener una noche que realice todas las pruebas y otra encuesta de 5 minutos de SCM que solo realice pruebas "rápidas".
mvn -DskipPattern=**.dao.** test
Claro, no hay problema
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.6</version>
<configuration>
<excludes>
<!-- classes that include the name Dao -->
<exclude>**/*Dao*.java</exclude>
<!-- classes in a package whose last segment is named dao -->
<exclude>**/dao/*.java</exclude>
</excludes>
</configuration>
</plugin>
Referencia:
(Las exclusiones no se pueden configurar a través de la línea de comandos, por lo que si desea activar este comportamiento de forma condicional, tendrá que definir un perfil y activarlo en la línea de comandos)
Déjame extender la respuesta de Sean. Esto es lo que configuraste en pom.xml
:
<properties>
<exclude.tests>nothing-to-exclude</exclude.tests>
</properties>
<profiles>
<profile>
<id>fast</id>
<properties>
<exclude.tests>**/*Dao*.java</exclude.tests>
</properties>
</profile>
</profiles>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<exclude>${exclude.tests}</exclude>
</excludes>
</configuration>
</plugin>
Entonces en CI los comienzas así:
mvn -Pfast test
Eso es.
Es posible excluir pruebas usando la línea de comando; utilizando !
excluir.
Nota: No estoy seguro, pero posiblemente necesite la versión 2.19.1 o posterior de surefire para funcionar.
Ejemplos:
Esto no ejecutará TestHCatLoaderEncryption
mvn install ''-Dtest=!TestHCatLoaderEncryption''
Excluir un paquete:
mvn install ''-Dtest=!org.apache.hadoop.**''
Esto también se puede combinar con filtros positivos. Lo siguiente ejecutará 0 pruebas:
mvn install ''-Dtest=Test*CatLoaderEncryption,!TestHCatLoaderEncryption''
Ver los documentos de Maven Surefire .