Paquete/instalación de Maven sin prueba (omitir pruebas)

4 minutos de lectura

avatar de usuario
vks

Estoy tratando de empaquetar mi proyecto. Pero automáticamente ejecuta las pruebas previas a la realización del envasado. Las pruebas insertan algún contenido en la base de datos. Esto no es lo que quiero, necesito evitar ejecutar pruebas mientras empaqueto la aplicación. ¿Alguien sabe cómo ejecutar el paquete sin prueba?

  • Una prueba unitaria debe constar de las siguientes 4 fases: inicialización, prueba, verificación y desmontaje. Tal vez debería ajustar sus pruebas y agregar un desmontaje/limpieza correspondiente de su base de datos o debería usar una instancia de base de datos separada, no empaquetada con su archivo jar, para ejecutar sus pruebas.

    – Marc-Christian Schulze

    17/09/2011 a las 16:00


  • Parece que sus pruebas son “pesadas”, por lo que no desea ejecutarlas. Pero es una mala práctica. ¿Quizás algunos marcos como DBUnit pueden ayudarlo? ¿O puede revertir los cambios en la base de datos al final de la prueba?

    – manash

    27 de noviembre de 2011 a las 20:32

avatar de usuario
Giorgos Dimtsas

Ejecutar experto con

mvn package -Dmaven.test.skip

  • gracias por su respuesta inmediata, estoy corriendo desde eclipse, donde agrego el comando -Dmaven.test.skip=true?

    – vks

    17 de septiembre de 2011 a las 15:59

  • Nunca he lanzado mvn desde eclipse, pero en la ventana Ejecutar configuración donde configura los objetivos y perfiles de maven, hay una casilla de verificación ‘Omitir prueba’. Tal vez eso haga el truco.

    – Giorgos Dimtsas

    17 de septiembre de 2011 a las 16:06

  • de acuerdo con la documentación eso omitirá la compilación y la ejecución. Puede usar -DskipTests para omitir la ejecución. Esta publicación también da algunas advertencias sobre con qué versiones puede usar cada bandera

    – Jonny Raa

    26 de febrero de 2014 a las 12:39

  • Muchas gracias, solía hacerlo usando -DskipTests pero ya no funciona, ¿alguna idea de por qué?

    – Sam

    3 de agosto de 2016 a las 7:21


  • Tenga en cuenta que Complemento Maven Surefire y Complemento a prueba de fallas de Maven la documentación sugiere que la configuración skipTests se prefiere a la configuración maven.test.skip.

    – Filip Bartek

    23 de agosto de 2016 a las 18:48

avatar de usuario
jayakumar j

Simplemente proporcione el comando mencionado a continuación, que ignorará la ejecución de los casos de prueba (pero compilará el código de prueba):

mvn package -DskipTests

  • para mi esto no funcionaria. Tuve que usar la solución aceptada en su lugar

    – Sebas

    15/10/2015 a las 18:16

  • -DskipTests no funcionó para mí cuando usé mvn clean install -DskipTests

    – Vishrant

    14 de noviembre de 2016 a las 6:05

  • Está parcialmente bien ya que no ejecutará la prueba, PERO comparará las clases de prueba …

    – Antoniossss

    9 de noviembre de 2018 a las 8:31

  • Para seguidores, -DskipTests es lo mismo que -Dmaven.test.skip.exec=true stackoverflow.com/a/21933970/32453 y sí compila las pruebas y no las ejecuta (mientras que -Dmaven.test.skip=true no los compila)

    – rogerdpack

    6 abr 2020 a las 15:20


puede agregar esta configuración de complemento a su pom si no desea configurar la línea de comando arg:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <skipTests>true</skipTests>
  </configuration>
</plugin>

Tenga en cuenta que -Dmaven.test.skip evita que Maven construya el artefacto test-jar.

Si desea omitir las pruebas pero crear artefactos según un uso de compilación normal:

-Dmaven.test.skip.exec

avatar de usuario
Rosdi Kasim

Si está intentando esto en Windows Powershell, obtendrá este error:

[ERROR] Unknown lifecycle phase ".test.skip=true". You must specify a valid lifecycle phase or a goal in the format...

La razón de esto es, en Powershell el “-“tiene un significado especial y está causando problemas con maven.

La solución es anteponerle un acento grave (`), así…

mvn `-Dmaven.test.skip=true install 

Referencia: http://kuniganotas.wordpress.com/2011/08/12/invalid-task-test-skiptrue-you-must-specify-a-valid-lifecycle-phase/

  • Tuve el mismo problema y esto lo resolvió para mí. Gracias.

    – nsof

    25 de febrero de 2015 a las 8:04

  • ¡Muchas gracias! Había estado enfrentando este problema durante mucho tiempo.

    – Debargha Roy

    22 de septiembre de 2020 a las 14:07

  • Me enfrento a este problema en la terminal intellij, parece que la terminal apunta a powershell en lugar de cmd. pero esta solución me salvó

    – Tayab Hussein

    22 dic 2021 a las 19:01

avatar de usuario
krishna vimal

<properties>
    <maven.test.skip>true</maven.test.skip>
</properties>

también es una forma de agregar un archivo pom

  • Tuve el mismo problema y esto lo resolvió para mí. Gracias.

    – nsof

    25 de febrero de 2015 a las 8:04

  • ¡Muchas gracias! Había estado enfrentando este problema durante mucho tiempo.

    – Debargha Roy

    22 de septiembre de 2020 a las 14:07

  • Me enfrento a este problema en la terminal intellij, parece que la terminal apunta a powershell en lugar de cmd. pero esta solución me salvó

    – Tayab Hussein

    22 dic 2021 a las 19:01

avatar de usuario
Dushmantha

En Inllij IDEA también hay una opción para omitir el objetivo de la prueba.

ingrese la descripción de la imagen aquí

¿Ha sido útil esta solución?