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.

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

Respuestas:

29

puedes intentar usar el parámetro -DskipTests

Referencias

morador
fuente
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.

RonU
fuente
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
orange77
fuente
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.
Martins
fuente
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.

Stephan
fuente
0

Si tu archivo settings.xml también puedes usar

<maven.test.skip>true</maven.test.skip>
menapole
fuente
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