Solución:
JUnit antes de la versión 5.4
De los documentos:
junit-jupiter-api
API JUnit Jupiter para escribir pruebas y extensiones.
junit-jupiter-engine
Implementación del motor de prueba JUnit Jupiter, solo se requiere en tiempo de ejecución.
junit-vintage-engine
Implementación del motor de pruebas JUnit Vintage que permite ejecutar pruebas JUnit antiguas, es decir, pruebas escritas en el estilo JUnit 3 o JUnit 4, en la nueva Plataforma JUnit.
Tan …
- Necesitas ambos
junit-jupiter-api
yjunit-jupiter-engine
para escribir y ejecutar pruebas JUnit5 - Solo necesitas
junit-vintage-engine
si (a) está ejecutando JUnit5 y (b) sus casos de prueba usan construcciones / anotaciones / reglas JUnit4, etc.
JUnit a partir de la versión 5.4
En JUnit 5.4 esto se simplifica, consulte esta respuesta para obtener más detalles.
junit-jupiter
artefacto
JUnit 5.4 proporciona una configuración de Maven mucho más simple si su intención es escribir pruebas JUnit 5. Simplemente especifique el artefacto agregado llamado junit-jupiter
.
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.4.2</version>
<scope>test</scope>
</dependency>
Este artefacto agregado, a su vez, extrae los siguientes tres artefactos automáticamente, para su conveniencia:
-
junit-jupiter-api
(una dependencia de compilación) -
junit-jupiter-params
(una dependencia de compilación) -
junit-jupiter-engine
(una dependencia de tiempo de ejecución)
En tu proyecto, también terminarás con:
- junit-platform-commons-1.4.0.jar
- junit-plataforma-motor-1.4.0.jar
Lo anterior es lo que necesitas escribir y ejecutar pruebas JUnit 5 basado en el nuevo paradigma de Júpiter.
Pruebas heredadas
Si su proyecto tiene pruebas JUnit 3 o 4 que desea continuar ejecutándose, agregue otra dependencia para el Motor JUnit Vintage, junit-vintage-engine
. Consulte el tutorial de IBM.
<!-- https://mvnrepository.com/artifact/org.junit.vintage/junit-vintage-engine -->
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<version>5.4.2</version>
<scope>test</scope>
</dependency>
Solo para notar, junit-jupiter-api
se incluye como una subdependencia en junit-jupiter-engine
Repositorio de Maven. Así que solo necesitarás agregar junit-jupiter-engine
para conseguir ambos. Estoy seguro de que Gradle es el mismo. https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine/5.1.1