Maven nos da la posibilidad de automatizar la ejecución de pruebas unitarias en los builds que realicemos.
Configuración del proyecto
Utilizaremos el framework JUnit para pruebas unitarias por lo que necesitamos agregar la dependencia en el archivo pom.xml:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
Necesitaremos, además, configurar en el archivo pom.xml el plugin Surefire utilizado por Maven para la ejecución de tests con JUnit.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M6</version>
<configuration>
<skipTests>false</skipTests>
</configuration>
</plugin>
Clases de test
Las clases de test se ubican dentro de la carpeta src/test y a los fines de los ejemplos los casos de prueba se reparten en dos clases diferentes.
package com.jcodepoint;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class SolarSystemInfoTest {
@Test
public void testMercurySatelliteCount() {
assertEquals(0, SolarSystemInfo.getMercurySatelliteCount());
}
@Test
public void testEarthSatelliteCount() {
assertEquals(1, SolarSystemInfo.getEarthSatelliteCount());
}
}
package com.jcodepoint;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
public class PlanetsInfoTest {
@Test
public void testPlanets() {
assertTrue(SolarSystemInfo.getPlanets().contains("Earth"));
}
}
Ejecución de las pruebas unitarias con Maven
En JUnit, los métodos que implementan los casos de prueba deben estar anotados con @test. De este modo, al ejecutar el siguiente comando:
$ mvn test
se ejecutará la totalidad de los casos de prueba del proyecto.
Es posible filtrar los casos de prueba a ejecutar indicando la clase con los métodos a invocar:
$ mvn test -Dtest=com.jcodepoint.SolarSystemInfoTest
De forma similar, podemos ajustar el filtro indicando clase y método del caso de prueba a ejecutar:
$ mvn test -Dtest=com.jcodepoint.SolarSystemInfoTest#testMercurySatelliteCount
Conclusión
Maven brinda una forma eficiente de ejecutar pruebas unitarias y generar informes de prueba. Al configurar el plugin Surefire, los desarrolladores pueden ejecutar fácilmente sus pruebas unitarias y ver los resultados en una variedad de formatos. Además, se puede lograr un control detallado sobre la ejecución de las pruebas a través de la configuración del plugin, lo que permite a los desarrolladores definir qué pruebas ejecutar, omitir o incluir grupos, y más. Al integrar estas herramientas en su flujo de trabajo, los desarrolladores pueden identificar y abordar rápidamente problemas en su código, lo que da como resultado aplicaciones más sólidas y fáciles de mantener.
Te puede interesar
Agregar dependencias en Apache Maven
En este artículo veremos cómo agregar dependencias en Apache Maven en unos pocos pasos, buscando en el Repositorio Central de Maven.