what test stands pom plugin for example does java maven junit maven-surefire-plugin

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:

  1. Ejecute mvn help:effective-pom para ver todo el POM que Maven ejecutará. Búsquela en test (no distingue mayúsculas y minúsculas) para ver si hay algo extraño.

  2. Ejecute mvn test -X para obtener la salida de depuración. Esto imprimirá las opciones utilizadas para configurar el maven-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.

  3. ¿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