java - test - maven-surefire-plugin pom
Maven-DskipTests ignorado (5)
Estoy construyendo un proyecto de Maven con la siguiente configuración de SureFire :
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${version.maven-surefire-plugin}</version>
<configuration>
<includes>
<include>**/*Test.java</include>
</includes>
</configuration>
</plugin>
El problema es que cuando lo construyo con mvn clean install -DskipTests=true
, las pruebas aún se están ejecutando. ¿Cual podría ser el problema?
Intenté ambos -DskipTests
(que proviene del sitio web de Maven ) y -DskipTests=true
, que se agrega con IntelliJ Idea cuando -DskipTests=true
casilla de verificación "omitir pruebas".
No uso ninguna settings.xml
Maven.xml.
- Versión de Maven: 2.2.1
- Plugin Surefire: 2.3
EDITAR Si hago un comentario sobre la configuración del complemento SureFire, el parámetro se comporta como espero. ¿Cuál podría ser el problema con la configuración anterior?
Lo que hiciste debería funcionar. Cómo depurar esto aún más:
Ejecute
mvn help:effective-pom
para ver todo el POM que Maven ejecutará. Búsquela entest
(no distingue mayúsculas y minúsculas) para ver si hay algo extraño.Ejecute
mvn test -X
para obtener la salida de depuración. Esto imprimirá las opciones utilizadas para configurar elmaven-surefire-plugin
. ¡Asegúrate de redireccionar la salida a un archivo!En el registro, verá
[DEBUG] Configuring mojo ''org.apache.maven.plugins:maven-surefire-plugin:2.15:test'' with basic configurator -->
Y luego, algunas líneas debajo de eso:
[DEBUG] (s) runOrder = filesystem [DEBUG] (s) skip = false [DEBUG] (s) skipTests = false
Estos valores significan que las pruebas no se saltan.
¿Está utilizando una versión reciente del complemento? SureFire Quizás esta opción no sea compatible con tu versión.
Maven conoce dos tipos de parámetros para saltar pruebas:
-Dmaven.test.skip=true
o
-DskipTests=true
La documentación de surefire-plugin solo menciona la primera, que aún no ha probado.
No estoy seguro de por qué la respuesta correcta no se ha publicado todavía. En versiones anteriores de SureFire, el indicador para compilar pruebas pero no ejecutarlas es -Dmaven.test.skip.exec
.
Prueba la siguiente configuración para tu plugin de surefire
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${version.surefire.plugin}</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
no es -DskipTests = true, es solo -DskipTests considerado que estás usando la versión 2.3 de surfire
así que lo ejecutas como
mvn instalar -DskipTests