tests test run plugin mvn example all maven maven-2 junit test-suite

test - Ejecutar Junit Suite usando el comando Maven



mvn test (2)

Tengo varias suites de prueba Junit (SlowTestSuite, FastTestSuite, etc.). Me gustaría ejecutar solo una suite específica usando el comando maven. p.ej

mvn clean install test -Dtest=FastTestSuite -DfailIfNoTests=false

pero no está funcionando. Simplemente no ejecutando ninguna prueba en absoluto. Cualquier sugerencia por favor.


La palabra clave que perdió es maven-surefire-plugin: http://maven.apache.org/plugins/maven-surefire-plugin/ .

El uso es:

<project> [...] <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.12.1</version> <configuration> <includes> <include>**/com.your.packaged.Sample.java</include> </includes> </configuration> </plugin> </plugins> </build> [...] </project>

Si realiza una pequeña búsqueda en el desbordamiento de pila, puede encontrar información:

Ejecutar un JUnit4 Test Suite en Maven usando el complemento maven-failafe Usando las categorías JUnit con el complemento Maven Failsafe

Además, puede definir el perfil, como fastTest, que se activará agregando un parámetro a la línea cmd:

mvn package -PfastTests

Este perfil incluiría algunas inclusiones también.


Lo he logrado añadiendo propiedades en pom como:

<properties> <runSuite>**/FastTestSuite.class</runSuite> </properties>

y maven-surefire-plugin debe ser:

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <includes> <include>${runSuite}</include> </includes> </configuration> </plugin>

por lo que significa que, de forma predeterminada, ejecutará FastTestSuite, pero puede ejecutar otras pruebas, por ejemplo, SlowTestSuite utilizando el comando maven como:

mvn install -DrunSuite=**/SlowTestSuite.class -DfailIfNoTests=false