JUnit 5 para Java: guía completa con ejemplos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Introducción a JUnit 5

\n\n

JUnit 5 es un framework moderno para pruebas unitarias (unit testing) en el lenguaje Java. Es la evolución del popular JUnit 4 y forma parte del ecosistema Java como el estándar de facto para escribir pruebas automatizadas. JUnit 5 no es solo una actualización, sino una arquitectura completamente rediseñada que consta de tres subproyectos: JUnit Platform (ejecución de pruebas), JUnit Jupiter (nuevo modelo de programación y extensiones) y JUnit Vintage (compatibilidad inversa con JUnit 3/4).

\n\n

¿Para qué sirve JUnit 5? En el desarrollo moderno (especialmente en metodologías TDD — Test-Driven Development), las pruebas no son una opción, sino una etapa obligatoria. JUnit 5 permite:

\n
    \n
  • Automatizar la verificación del código: Ejecutar cientos de pruebas con un solo comando.
  • \n
  • Garantizar la fiabilidad de regresión: Asegurarse de que el código nuevo no rompa la funcionalidad existente.
  • \n
  • Mejorar el diseño del código: El código testeable suele ser más modular y con menor acoplamiento.
  • \n
  • Documentar el comportamiento: Las pruebas sirven como documentación viva que muestra cómo debe funcionar una clase o método.
  • \n
  • Integrarse en CI/CD: JUnit 5 se integra fácilmente con Maven, Gradle, Jenkins, GitHub Actions.
  • \n
\n\n

Principales novedades de JUnit 5 en comparación con JUnit 4: anotaciones de nueva generación (@Test, @ParameterizedTest, @Nested), potente sistema de extensiones (Extensions), soporte para expresiones lambda y API de flujo, así como soporte integrado para pruebas parametrizadas y dinámicas.

\n\n

Instalación de JUnit 5

\n\n

Dado que Java es un lenguaje compilado, la instalación se realiza a través de gestores de dependencias (Maven o Gradle). JUnit 5 no se instala mediante pip o npm. A continuación se presentan las instrucciones para los dos sistemas de compilación más populares.

\n\n

Instalación mediante Maven (pom.xml)

\n

Agregue las siguientes dependencias a su archivo pom.xml. Se recomienda usar la última versión estable (en el momento de escribir esto, la 5.11.0; verifique la versión actual en MVNRepository).

\n
<dependencies>\n    <!-- Módulo principal de JUnit Jupiter (incluye API, Engine y parametrización) -->\n    <dependency>\n        <groupId>org.junit.jupiter</groupId>\n        <artifactId>junit-jupiter</artifactId>\n        <version>5.11.0</version>\n        <scope>test</scope>\n    </dependency>\n    <!-- (Opcional) Para compatibilidad con JUnit 4 -->\n    <dependency>\n        <groupId>org.junit.vintage</groupId>\n        <artifactId>junit-vintage-engine</artifactId>\n        <version>5.11.0</version>\n        <scope>test</scope>\n    </dependency>\n</dependencies>
\n\n

Instalación mediante Gradle (build.gradle)

\n

Agregue en la sección dependencies:

\n
dependencies {\n    testImplementation 'org.junit.jupiter:junit-jupiter:5.11.0'\n    // (Opcional) Para JUnit 4\n    testImplementation 'org.junit.vintage:junit-vintage-engine:5.11.0'\n}\n\ntest {\n    useJUnitPlatform() // Obligatorio para habilitar JUnit 5\n}
\n\n

Instalación sin sistema de compilación (Java plano)

\n

Si no usa Maven/Gradle, descargue los archivos JAR desde el repositorio oficial y agréguelos al classpath de su proyecto. Sin embargo, esto no se recomienda en absoluto para proyectos reales.

\n\n

Inicio rápido: primera prueba con JUnit 5

\n\n

Crearemos una clase simple Calculator y escribiremos una prueba para ella.

\n\n

1. Clase a probar (Calculator.java):

\n
public class Calculator {\n    public int add(int a, int b) {\n        return a + b;\n    }\n\n    public int divide(int a, int                    

Recommendations