¿Existe una manera simple de no crear las clases de prueba?Maven - Omitir clases de prueba de construcción
mvn clean install -Dmaven.test.skip=true
Walter
¿Existe una manera simple de no crear las clases de prueba?Maven - Omitir clases de prueba de construcción
mvn clean install -Dmaven.test.skip=true
Walter
De acuerdo con la documentation en el Maven Plugin de éxito seguro, -Dmaven.test.skip
debe saltar tanto compilación y la ejecución de las pruebas. Por el contrario, -DskipTests
simplemente omite la prueba ejecución: las pruebas todavía se compilan.
+1 No me gusta la nomenclatura, sin embargo. Es completamente obvio para mí por qué 'skipTests' solo salta * ejecutando * las pruebas y' maven.text.skip' salta * compilando y ejecutando * las pruebas. Siempre tengo que buscar cuál es cuál. –
¡Sé lo que quieres decir! Solo sabía esta respuesta porque miré los documentos hoy;) – Daniel
Vaya, nunca noté esta sutil diferencia. Gracias por señalarlo (y +1). –
sólo para estar explícitamente claro:
skipTests
compilará nada en el <testSourceDirectory>
, pero no se ejecute ellos.
maven.test.skip
se no compila ninguna prueba, pero ejecutará las pruebas compiladas que hicieron su camino en el <testOutputDirectory>
.
Entonces el comportamiento de los 2 anteriores es opuesto. Solo quería señalar que maven.test.skip
no omite la compilación Y la ejecución si los archivos de prueba están desempacados/copiados/etc. en <testOutputDirectory>
.
Además, dependiendo de la versión de Maven que esté utilizando, también hay maven.test.skip.exec=true
que omite además la ejecución de prueba similar a skipTests.
Desafortunadamente no es cierto, al menos en maven 3.0.5 y maven-compiler-plugin 3.5.1. Puede probarlo en cada proyecto que contenga pruebas: 'mvn clean package -DskipTests = true && mvn test -Dmaven.test.skip = true' compilará las pruebas (debido a la primera ejecución del paquete) pero no las ejecutará en el segundo mando. Asumiendo directorios estándar, 'target/test-classes' contendrá todas las pruebas después, pero no se han ejecutado. –
No soy un experto en experto, pero lo que yo uso en mi proyecto actual es:
mvn clean install -DskipTests=true
Dependiendo de su caso de uso usando:
mvn compile -DskipTests=true
podría funcionar para usted también.
He encontrado una solución alternativa en otro question, que en realidad se impone a una ejecución complemento añadiendo el siguiente fragmento de código en su pom.xml por defecto:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<id>default-testCompile</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
Esto parece funcionar, pero definitivamente no lo hace fase desactivar pero desactiva las acciones predeterminadas que un complemento define en una fase específica.
¿omitir la compilación u omitir la ejecución? – Bozho
Necesito ejecutar embarcadero sin compilar las clases de prueba. –