UP | HOME

JUnit

Table of Contents

Introducción

JUnit es un framework para Java que nos permite escribir tests automáticos, especialmente tests unitarios (de ahí su nombre) aunque también se usa para tests de integración.

En los siguientes apartados te voy a explicar cómo integrar este framework en tus proyectos de Gradle en Java. Si usas Maven, Ant o escribes un programa sin un constructor, entonces la forma de integrarlo varía. Al final, JUnit es una biblioteca que tienes que añadir a tu proyecto de Java.

Cómo añadir JUnit a tus proyectos

Se tiene que añadir como dependencia en el proyecto en el que lo quieras usar. Con Gradle es muy fácil porque, al ejecutar gradle init, se te pregunta qué framework usar para las pruebas, pudiendo seleccionar JUnit:

Select test framework:
  1: JUnit 4
  2: TestNG
  3: Spock
  4: JUnit Jupiter
Enter selection (default: JUnit Jupiter) [1..4]

A partir de ahí, si abres tu proyecto, en el el script de Gradle build.gradle.kts verás que está añadido en la sección de dependencies:

dependencies {
    // Use JUnit test framework.
    testImplementation(libs.junit)

    // ...
}

Estructura de directorios para JUnit

En Gradle, cuando añades JUnit, verás que dentro de la carpeta src del subproyecto tienes dos carpetas (al menos) a saber:

  • main con el código fuente del programa organizado en paquetes, y
  • test con el código JUnit de tus tests que sigue la misma organización de paquetes de tu programa.

El código de JUnit son clases "espejo" de las clases de tu programa que quieres probar. Así, si tienes una clase, dentro de main, llamada es.eed.model.Person tendrás que crear una clase, dentro de test, llamada es.eed.model.PersonTest. Así, tendrías:

  • el fichero src/main/java/es/eed/model/Person.java con el código fuente de la clase, y
  • el fichero src/test/java/es/eed/model/PersonTest.java con el código de JUnit para las pruebas.

Esta sería la jerarquía completa del proyecto de Gradle, donde como ves solo se han creado tests para la clase es.eed.App y es.eed.model.Person:

.
├── app
│   ├── build.gradle.kts
│   └── src
│       ├── main
│       │   └── java
│       │       └── es
│       │           └── eed
│       │               ├── App.java
│       │               └── model
│       │                   ├── Person.java
│       │                   ├── Dog.java
│       │                   ├── Cat.java
│       └── test
│           └── java
│               └── es
│                   └── eed
│                       ├── AppTest.java
│                       └── model
│                           └── PersonTest.java
├── gradle.properties
├── gradlew
├── gradlew.bat
└── settings.gradle.kts

Author: Román Ginés Martínez Ferrández

Created: 2026-05-05 mar 15:45

Validate