Pruebas en Maven

Otro punto importante en el trabajo de Maven es la fase de pruebas. Se ejecutará si ejecuta test , package , check o cualquier otra fase que venga después de ellos.

De forma predeterminada, Maven ejecutará todas las pruebas que se encuentran en la carpeta src/test/java/ . Para distinguir las pruebas que se van a ejecutar de otros archivos java, se ha adoptado una convención de nomenclatura. Las pruebas son clases de Java cuyos nombres comienzan con "Test" y terminan con "Test" o "TestCase" .

Patrón general de nombres de prueba:

  • **/Prueba*.java
  • **/*Prueba.java
  • **/*Caso de prueba.java

Estas pruebas deben estar escritas en base al marco de prueba de Junit o TestNG. Estos son marcos muy interesantes, definitivamente hablaremos de ellos un poco más adelante.

Los resultados de las pruebas en forma de informes en formatos .txt y .xml se guardan en el directorio ${basedir}/target/surefire-reports.

Configuración de prueba

Por lo general, hay muchas opciones para ejecutar pruebas, por lo que los desarrolladores de Maven han creado un complemento especial, en cuyos parámetros puede configurar toda la información detallada sobre las pruebas. El complemento se llama Maven Surefire Plugin y está disponible en .

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
    	<version>2.12.4</version>
    	<configuration>
        	<includes>
                <include>Sample.java</include>
        	</includes>
    	</configuration>
	</plugin>
</plugins>

En el ejemplo, le dijimos al complemento que necesita ejecutar una sola clase de prueba, Sample.java.

Cómo eliminar rápidamente las pruebas rotas

Para ejecutar el proyecto para la prueba, debe ejecutar el comando mvn test. Pero más a menudo existe la necesidad de excluir algunas pruebas de las pruebas. Por ejemplo, pueden estar rotos, tardar demasiado en funcionar o por cualquier otro motivo.

Primero, simplemente puede decirle a Maven que omita las pruebas cuando realice la fase de construcción. Ejemplo:

mvn clean package -Dmaven.test.skip=true

En segundo lugar, en la configuración del complemento, puede deshabilitar la ejecución de pruebas:


<configuration>
    <skipTests>true</skipTests>
</configuration>

Y en tercer lugar, las pruebas se pueden excluir utilizando la etiqueta <exclude> . Ejemplo:


<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
    	<version>2.12.4</version>
    	<configuration>
        	<excludes>
           	<exclude>**/TestFirst.java</exclude>
	           <exclude>**/TestSecond.java</exclude>
    	</excludes>
    	</configuration>
    </plugin>
</plugins>