Evitar la ejecución de tests o ignorar resultados al utilizar Maven

Si por alguna razón queremos evitar que Maven ejecute los tests unitarios al invocarlo, podemos agregar el parámetro -Dmaven.test.skip=true o -DskipTests=true al invocarlo, por ejemplo,

<br />
mvn jar -Dmaven.test.skip=true<br />

Si queremos que ejecute los tests pero que ignore los resultados, es decir, que no cancele la ejecución si algún test falla, podemos agregar el parámetro «-Dmaven.test.failure.ignore=true» a la invocación a Maven.

Si tenemos tests unitarios implementados, obviamente no es lo ideal evitar su ejecución, o ignorar los fallos que tengan, pero de tanto en tanto puede ser útil.

Para los tests de integración, que por concepto quizá tengan que interactuar con otros sistemas, tenemos la opción de configurar la exclusión de ciertos archivos, y que los tests contenidos en ellos no se ejecuten automáticamente al correr los goals de test de Maven. Esto se configura en el POM del proyecto, al configurar
las opciones del plugin Surefire (ejecución de tests):

<br />
&lt;build&gt;<br />
	&lt;plugins&gt;<br />
		[...]<br />
		&lt;plugin&gt;<br />
			&lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;<br />
			&lt;artifactId&gt;maven-surefire-plugin&lt;/artifactId&gt;<br />
			&lt;configuration&gt;<br />
				&lt;includes&gt;<br />
					&lt;include&gt;**/*.java&lt;/include&gt;<br />
				&lt;/includes&gt;<br />
				&lt;excludes&gt;<br />
					&lt;exclude&gt;integrationTests&lt;/exclude&gt;<br />
				&lt;/excludes&gt;<br />
				&lt;forkMode&gt;never&lt;/forkMode&gt;<br />
			&lt;/configuration&gt;<br />
		&lt;/plugin&gt;<br />
		[...]<br />
	&lt;/plugins&gt;<br />
&lt;/build&gt;<br />

Para este ejempo planteado, ejecutará todos los tests del directorio correspondiente, excluyendo los que están dentro del directorio integrationTests y sus subdirectorios.

Referencias

http://maven.apache.org/general.html#skip-test
http://maven.apache.org/plugins/maven-surefire-plugin/examples/skipping-test.html
http://maven.apache.org/plugins/maven-surefire-plugin/examples/inclusion-exclusion.html

Etiquetado , . Bookmark the permalink.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *