Maven - ¿Cómo compilar pruebas sin ejecutarlas?


128

¿Hay alguna forma en Maven de compilar las pruebas sin ejecutarlas? Quiero usar el IDE para ejecutar pruebas específicas y no todas.


8
Probablemente debería editar la pregunta o cambiar la respuesta aceptada.
— Chiranjib

Respuestas:


29

puedes intentar usar el parámetro -DskipTests

Referencias


En netbeans, eso es lo que estaba haciendo. Veo lo siguiente mvn -Dmaven.test.skip = true -Dnetbeans.execution = instalación limpia verdadera y luego veo lo siguiente
— user373201

[compilador: testCompile] No compila fuentes de prueba [surefire: prueba] Las pruebas se omiten. Al menos uso de NetBeans parece que si se omiten las pruebas que no las fuentes de prueba de compilación
— user373201

1
No importa, a pesar de que los registros dicen eso, todavía parece compilar archivos de prueba.
— user373201

34
esto lleva a omitir completamente las pruebas: ejecución y compilación, consulte la respuesta correcta a continuación: prueba-compilación. Lo uso con mvn clean compile test-compile en Eclipse
— Yashima

3
@Yashima tienes razón, esta respuesta no es tan inteligente ... acepta la respuesta a continuación, para que puedas eliminar esta
— lweller el

334

¿Qué tal la test-compilefase del ciclo de vida? No requiere ningún salto de prueba, ya que ocurre antes de la testfase. Es decir,

$ mvn test-compile

Y hecho.

Introducción al Build Lifecycle explica más a fondo.


77
Esto era exactamente lo que necesitaba, gracias. No sé sobre el autor de la pregunta original; pero estaba buscando compilar las pruebas, luego ejecutarlas con un corredor de prueba separado.
— Mike Miller

He estado aquí con más frecuencia de lo que me gustaría admitir ...
— Daniel Storch hace

31

Para compilar las pruebas y el código, sin ejecutarlas, simplemente haga:

mvn test-compile

77
Creo que la compilación de prueba incluye compilación
— Whimusical

de acuerdo con @Whimusical. Además, esto ejecutará el objetivo de compilación 2 veces.
— Gabriel Petrovay

26

Al ejecutar un objetivo que incluirá la fase de prueba (como el paquete), puede hacer dos cosas:

  • Usa el comando mvn -DskipTests=true package. Esto compilará todas las pruebas pero no las ejecutará.
  • O mvn -Dmaven.test.skip=true package. Esto no compilará ni ejecutará la rama de prueba.

3

Alternativamente, puede usar la maven.test.skip.execopción.

mvn -Dmaven.test.skip.exec=true

Maven compilará las pruebas sin ejecutarlas. Utilizo esta opción en todos mis proyectos regularmente.



0

Si tu archivo settings.xml también puedes usar

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

55
Nunca deberías hacer eso. Si lo necesita, configúrelo en la línea de comando, pero nunca de forma permanente.
— Sean Patrick Floyd el

13
Nunca dije que deberías o no deberías hacerlo. Simplemente proporcionando conocimiento de la opción.
— menapole

44
Esto hace que Maven tampoco compile las pruebas.
— Mike Miller

3
@Sean Patrick Floyd: ¿por qué no? esto NO es permanente, eso sería configurarlo en el pom.xml.
— Balázs Németh
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.