Junit 5 Introducción

Junit 5: Introducción

🔍 ¿Qué es JUnit 5?

A diferencia de las versiones anteriores, JUnit 5 no es solo una única librería. Está compuesto por varios módulos organizados en tres subproyectos principales:


JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage

1. 🧱 JUnit Platform

Es la base sobre la cual funcionan JUnit 5 y otros frameworks de pruebas en Java. Ofrece:

  • Una infraestructura para ejecutar pruebas en la JVM.
  • La API TestEngine, que permite a los desarrolladores crear sus propios frameworks de testing que funcionen en esta plataforma.
  • Un “Console Launcher” para ejecutar pruebas desde la línea de comandos.
  • El JUnit Platform Suite Engine, que permite ejecutar una suite personalizada de pruebas que puede incluir distintos motores de test (por ejemplo, pruebas de JUnit 4, JUnit 5, y otros frameworks).

🛠️ Además, los entornos de desarrollo (IDEs) como IntelliJ IDEA, Eclipse, NetBeans y VS Code, soportan directamente esta plataforma, así como las herramientas de construcción como Gradle, Maven y Ant.


2. ✍️ JUnit Jupiter

Es el núcleo de JUnit 5. Aquí es donde escribes tus pruebas modernas con anotaciones como:

  • @Test
  • @BeforeEach
  • @DisplayName, etc.

Jupiter combina:

  • El modelo de programación, es decir, cómo se escriben los tests.
  • El modelo de extensión, para agregar funcionalidades personalizadas.

También incluye su propio motor de ejecución de pruebas (TestEngine) para correr tests escritos con este nuevo estilo.


3. 🕰️ JUnit Vintage

Es un puente de compatibilidad hacia atrás. Permite ejecutar tests antiguos escritos con JUnit 3 y JUnit 4 dentro de la nueva plataforma de JUnit 5.

Requiere que tengas JUnit 4.12 o superior en el classpath para funcionar correctamente.


🧠 En resumen:

JUnit 5 es modular y flexible:

  • Platform: la base para correr cualquier tipo de test.
  • Jupiter: el nuevo modelo de pruebas moderno.
  • Vintage: soporte para pruebas antiguas.