Objetivo del tema
En este tema aprenderás a ejecutar pruebas con Apache Maven, integrar frameworks de testing, generar reportes y conectar el flujo de construcción con herramientas de integración continua como Jenkins o GitHub Actions para automatizar pipelines.
El objetivo test
del ciclo de vida por defecto ejecuta las pruebas unitarias utilizando maven-surefire-plugin
. Invoca la fase con el comando:
mvn test
*Test.java
y ejecuta los frameworks configurados.-Dtest=ClaseDePrueba#metodo
.-Dsurefire.failIfNoSpecifiedTests=false
para personalizar el comportamiento del plugin.Maven soporta una amplia variedad de frameworks unitarios y de integración. Basta con agregar las dependencias correspondientes.
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>5.11.0</version>
<scope>test</scope>
</dependency>
</dependencies>
Los plugins de testing generan archivos XML y HTML con resultados que pueden consultarse localmente o cargarse en servidores de CI.
maven-surefire-plugin
almacena resultados en target/surefire-reports
en formato XML y HTML.jacoco-maven-plugin
genera reportes en target/site/jacoco
.Conservar reportes en el pipeline CI facilita detectar regresiones y compartir resultados con el equipo.
Maven se integra en la mayoría de plataformas de CI/CD. En Jenkins, puedes crear pipelines que ejecuten mvn clean verify
, publiquen resultados y suban artefactos al repositorio.
# .github/workflows/maven.yml
name: Maven CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
- name: Build with Maven
run: mvn -B clean verify
- name: Archive test reports
uses: actions/upload-artifact@v4
with:
name: surefire-reports
path: target/surefire-reports/
Jenkinsfile
, incluyendo mvn test
, escaneo de calidad y despliegues.settings.xml
para publicar artefactos durante el pipeline.Automatizar la ejecución de pruebas y despliegues reduce errores humanos y acelera entregas.
mvn clean verify
con validaciones estáticas (por ejemplo, mvn spotbugs:check
) para asegurar calidad antes de fusionar cambios.mvn site
y publiquen reportes centralizados.Un pipeline bien diseñado garantiza que cada cambio pase por pruebas consistentes y que los artefactos promovidos a producción sean confiables.
Maven facilita la automatización del testing y la integración continua gracias a su ciclo de vida declarativo y a la amplia compatibilidad con herramientas CI/CD. Ejecutar mvn test
, integrar frameworks como JUnit o TestNG, generar reportes y conectarlos con pipelines repetibles permite detectar problemas temprano y mantener la calidad del software.