2012-08-24 22 views
16

Cuando estoy ejecutando maven clean install siempre ejecuta todas las pruebas en src/test/java hay una manera de saltarse todas las pruebas, solo para ejecutar compilación simple sin ninguna prueba.Excluir pruebas de la compilación de Maven

Quiero que mis pruebas estén en src/test/java pero quiero decirle a maven que no las ejecute. He estado buscando algo así en Internet, pero no pude encontrar la respuesta.

¿Hay alguna manera de hacerlo?

Respuesta

27

Pruebe con:

mvn clean install -DskipTests 

Fuente here.

+0

Eso funcionó perfectamente. Gracias :) –

+0

De nada :) – jelies

3

uso de este

mvn instalación limpia -DskipTests

8

También puede optar por utilizar

mvn install -Dmaven.test.skip 

De Maven página web:

Si es absolutamente necesario, también se puede utilizar la propiedad maven.test.skip saltarse la compilación de las pruebas. maven.test.skip es honrado por Surefire, Failsafe y el complemento del compilador.

Como se dice, ni siquiera compilará las fuentes de prueba.

+1

Es cierto que -DskipTests no funcionó para mí y el tuyo funcionó! – Xdg

2

Mi forma favorita de administrar cuando se ejecutan mis pruebas es crear una variable Maven llamada skip-tests y establecerla por defecto en true. A continuación, puede utilizar esa variable, así:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.12.2</version> 
    <configuration> 
     <skipTests>${skip-tests}</skipTests> 
    </configuration> 
    </plugin> 

De esta manera, sólo puede pasar en la variable en tiempo de compilación, -Dskip-tests=false, cuando no se desea que se ejecuten. Esto es más útil cuando tiene las pruebas de integración y, y desea ejecutar o deshabilitar ambos conjuntos de pruebas con una sola variable.

-1

creo más simple sería la siguiente: mvn clean package -Dmaven.skip.tests=true

creo que este enfoque de usar ya que no hace que cambie su pom, por lo que no tiene que realizar cambios en el proyecto.

+0

Es -Dmaven.test.skip = true –

+0

Que omite las pruebas de compilación, consulte http://maven.apache.org/surefire/maven-surefire-plugin/examples/skipping-test.html –

0

Utilizamos Surefire para pruebas unitarias y Failsafe para pruebas de integración.

Para saltar todas las pruebas:

mvn clean package -DskipTests 

Para saltar pruebas simplemente a prueba de fallos:

mvn clean package -DskipIT 

saltar sólo de éxito seguro, es necesario llamar explícitamente el objetivo de la prueba de integración del plugin a prueba de fallos, después de compilando las clases de prueba por supuesto:

mvn clean test-compile failsafe:integration-test 
Cuestiones relacionadas