Cómo configurar y crear tests de JUnit 5 en NetBeans

Es posible utilizar JUnit 5 en NetBeans, pero tienes que tener en cuenta algunas particularidades. JUnit 5 y Ant todavía no se llevan bien en este momento, por lo que si quieres trabajar con NetBeans, lo mejor que puedes hacer es utilizar Maven o Gradle, que sí que tiene integración completa con NetBeans. En el caso de Maven, recuerda que tienes que instalar Surefire.

Cuando trabajamos con JUnit 5 en NetBeans, nos encontramos con ciertas particularidades que conviene tener claras para evitar frustraciones. En la versión 16 de NetBeans, por ejemplo, el soporte para JUnit 5 no es tan sólido como podríamos esperar, especialmente si usamos Ant como sistema de construcción. Ant ha sido durante mucho tiempo el runner tradicional en NetBeans, y aunque sigue siendo una opción disponible, presenta limitaciones importantes para ejecutar tests con JUnit 5.

Si creamos un proyecto Java con Ant y tratamos de añadir un test de JUnit 5, veremos que aunque el IDE importe correctamente las clases de JUnit 5, al intentar ejecutar los tests estos fallan y no se ejecutan. Esto se debe a que Ant no es del todo compatible con JUnit 5 en este momento, y parece que no hay una solución a corto plazo debido a la falta de acuerdo entre los equipos responsables de JUnit y Ant.

Por eso, la recomendación más práctica es optar por Maven o Gradle para gestionar nuestros proyectos en NetBeans cuando queremos trabajar con JUnit 5. Al crear un proyecto Maven, por ejemplo, sí podemos añadir tests y ejecutarlos sin problemas, siempre que configuremos correctamente las dependencias en el archivo pom.xml. Es fundamental incluir las dependencias de JUnit 5 que vayamos a utilizar, como junit-jupiter-api, junit-jupiter-params para tests parametrizados, y junit-jupiter-engine para la ejecución de los tests.

Además, es importante asegurarnos de incluir el plugin Surefire en el pom.xml. Sin este plugin, al intentar ejecutar los tests, nos encontraremos con errores que indican que falta Surefire, y NetBeans no podrá lanzar correctamente las pruebas. El plugin Surefire es el encargado de ejecutar los tests durante el ciclo de construcción de Maven, por lo que su presencia es imprescindible.

Un ejemplo básico de configuración en el pom.xml para JUnit 5 con Surefire podría ser:

<dependencies>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>5.9.3</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>5.9.3</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-params</artifactId>
        <version>5.9.3</version>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>3.0.0-M7</version>
        </plugin>
    </plugins>
</build>

Por otro lado, si preferimos usar Gradle, también es posible trabajar con JUnit 5 sin mayores complicaciones, siempre que el proyecto se cree con soporte para JUnit 5 activado. Esto suele ser así en las versiones recientes de Gradle, que incluyen soporte nativo para JUnit 5. Sin embargo, es recomendable revisar el archivo build.gradle para asegurarnos de que la tarea de test está configurada para usar la plataforma JUnit.

Un fragmento típico en build.gradle para habilitar JUnit 5 sería:

test {
    useJUnitPlatform()
}

Con esta configuración, al ejecutar la tarea test, Gradle reconocerá y ejecutará correctamente los tests escritos con JUnit 5.

En definitiva, aunque NetBeans sigue permitiendo trabajar con Ant, si queremos aprovechar JUnit 5 de forma efectiva, debemos migrar a Maven o Gradle y asegurarnos de que las dependencias y plugins necesarios están bien configurados. Esto nos evitará errores y nos permitirá ejecutar nuestros tests sin problemas dentro del entorno de NetBeans.

Lista de reproducción
  1. 1
    ¿Qué es una prueba unitaria? ¿Me vale con crear un main?
    7 minutos
  2. 2
    Cómo crear tests unitarios con JUnit 5
    17 minutos
  3. 3
    Cómo usar BeforeEach, AfterEach, BeforeAll y AfterAll en JUnit 5
    11 minutos
  4. 4
    Cómo cambiar el orden de los tests de JUnit 5 (aunque no deberías)
    8 minutos
  5. 5
    Cómo aprovechar la clase Assertions de JUnit 5
    8 minutos
  6. 6
    Cómo ejecutar tests condicionalmente en JUnit 5
    7 minutos
  7. 7
    Cómo hacer tests de excepciones en JUnit 5 con assertThrows
    5 minutos
  8. 8
    Cómo crear Nested tests en JUnit 5 (un test dentro de otro)
    5 minutos
  9. 9
    Cómo configurar y crear tests de JUnit 5 en NetBeans
    6 minutos
  10. 10
    Cómo configurar y crear tests de JUnit 5 en Eclipse
    5 minutos
  11. 11
    Cómo configurar y crear tests de JUnit 5 en IntelliJ IDEA
    4 minutos