Saltar al contenido

Diferencia entre junit-jupiter-api y junit-jupiter-engine

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 y junit-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

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *