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.