2010-12-08 16 views

Respuesta

16

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:

(Se excluyen de esta no se pueden configurar a través de línea de comandos, por lo si quieres activar este comportamiento de forma condicional, tendrá que definir un perfil y activarlo en la línea de comandos)

+2

6 años después y surefire.excludes aún no funciona en la línea de comandos. –

37

Permítame extender la respuesta de Sean. Esto es lo que se propuso 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> 

Luego, en CI que ellos comienzan así:

mvn -Pfast test 

Eso es todo.

1

es posible excluir las pruebas utilizando la línea de comandos; usando ! para excluir.

nota: No estoy seguro, pero posiblemente necesite 2.19.1 o una versión posterior de surefire para funcionar.

ejemplos:

este no se ejecutará TestHCatLoaderEncryption

mvn install '-Dtest=!TestHCatLoaderEncryption' 

no incluyen un paquete:

mvn install '-Dtest=!org.apache.hadoop.**' 

puede combinarse con filtros positivos, así; el followin ejecutará la prueba 0:

mvn install '-Dtest=Test*CatLoaderEncryption,!TestHCatLoaderEncryption' 
Cuestiones relacionadas