JUnit es el framework de testing de referencia en el stack Java empresarial y la base sobre la que se construyen los pipelines de CI/CD de equipos de banca, fintech, telco, logística y ecommerce. Permite escribir y ejecutar pruebas unitarias, de integración, parametrizadas y dinámicas mediante una API declarativa basada en anotaciones, con ejecución paralela y extensiones composables. En 2026 la versión de referencia es JUnit 6 (Jupiter), alineada con Java 17, 21 y 25 LTS, Spring Boot 3.5/4 y Maven Surefire/Failsafe o Gradle. Su arquitectura modular se compone de tres pilares: JUnit Platform (motor de ejecución y descubrimiento), JUnit Jupiter (modelo de programación y extensiones modernas) y JUnit Vintage (capa de compatibilidad para suites heredadas de JUnit 4 en proyectos legacy sin migrar).
Desde su origen como herramienta creada por Kent Beck y Erich Gamma, JUnit ha evolucionado hasta convertirse en el estándar de facto para la verificación de código Java. La rama Jupiter, sucesora de JUnit 4, introduce un modelo de extensiones composable, soporte nativo para tests parametrizados y dinámicos, aserciones agrupadas, ejecución paralela, API Named, TempDir, anotaciones compuestas y una integración fluida con Maven (Surefire/Failsafe), Gradle y los principales entornos de desarrollo.
Qué incluye este itinerario
- Fundamentos del testing con JUnit: conceptos esenciales, configuración con Maven y Gradle y primer test con Jupiter.
- Aserciones básicas y avanzadas: verificación de valores, excepciones,
assertAll, timeouts preemptivos,AssertJyHamcrest. - Ciclo de vida de los tests:
@BeforeEach,@AfterEach,@BeforeAll,@AfterAll,@TestInstance(Lifecycle.PER_CLASS)y orden de ejecución con@MethodOrder. - Tests parametrizados:
@ParameterizedTestcon@ValueSource,@NullSource,@EmptySource,@EnumSource,@CsvSource,@CsvFileSource,@MethodSourcey@ArgumentsSource. - Organización y extensiones:
@Nested,@DisplayName,@Tag,@TempDir,@ExtendWith,@RegisterExtension,ParameterResolvery anotaciones compuestas. - TDD y cobertura: ciclo red-green-refactor, pirámide de testing, tests de integración con
@SpringBootTest, slices (@WebMvcTest,@DataJpaTest), Testcontainers y cobertura con JaCoCo.
Integraciones clave
JUnit es la base sobre la que se apoyan otras herramientas del ecosistema Java:
- Mockito con la extensión
MockitoExtensionpara dobles de prueba. - Spring Boot Test con slices y
@SpringBootTestpara pruebas de integración. - Testcontainers para levantar bases de datos y brokers reales en Docker durante los tests.
- JaCoCo para medir cobertura de líneas y ramas e imponer umbrales en CI.
Documentación oficial
La documentación completa de JUnit está disponible en https://docs.junit.org/current/user-guide/ y la referencia de la API en https://api.junit.org/current/.