web-dev-qa-db-fra.com

Org.junit.jupiter.params manquant de JUnit5

J'essaie d'ajouter des tests paramétrés dans mon Java. J'ai trouvé les exemples pour JUnit 5, que j'ai inclus.

https://blog.codefx.org/libraries/junit-5-parameterized-tests/

Le problème est que je ne peux pas ajouter @ParameterizedTest car l'espace de noms est manquant. Idk pourquoi ou comment.

La page documentation indique clairement qu'elle se trouve dans org.junit.jupiter.params, mais je ne l'ai pas.

Pour vous donner une idée de mon code:

import org.junit.jupiter.api.Test;

import Java.util.Arrays;
import Java.util.Collection;

import static org.junit.jupiter.api.Assertions.*;

class SubsetPrinterTest
{
    // https://blog.codefx.org/libraries/junit-5-parameterized-tests/

    static Collection<Object[]> makeSetData()
    {
        return Arrays.asList(new Object[][]
        {
                {1, new char[]{'1'}},
                {2, new char[]{'1', '2'}},
                {3, new char[]{'1', '2', '3'}},
                {4, new char[]{'1', '2', '3', '4'}},
                {5, new char[]{'1', '2', '3', '4', '5'}}
        });
    }

    // This should be a parameterized test using the makeSetData.
    @Test
    void makeSet()
    {
        // Arrange
        SubsetPrinter subsetPrinter = new SubsetPrinter();

        // Act
        char[] set = SubsetPrinter.MakeSet(5);

        // Assert
        assertArrayEquals(set, new char[]{'1', '2', '3', '4', '5'});
        assertEquals(set.length, 5);
    }
}
11
AzzamAziz

Votre projet class-path doit inclure une version de junit-jupiter-params-xxx.jar, comme junit-jupiter-params-5.0.0.jar de http://central.maven.org/maven2/org/junit/jupiter/junit-jupiter-params/5.0.0/

Le billet de blog de codefx.org vous liez à dit (modifié vers la version 5.0.0 actuelle):

Commencer avec des tests paramétrés est assez facile mais avant que le plaisir ne commence, vous devez ajouter la dépendance suivante à votre projet:

Group ID: org.junit.jupiter
Artifact ID: junit-jupiter-params
Version: 5.0.0

Soit le télécharger et l'ajouter manuellement, ou si vous utilisez un outil de build avec gestion des dépendances (Gradle, Maven, ...) configurez le script de build (build.gradle, pom.xml, ...) en conséquence.

Trouvez quelques exemples génériques ici: https://github.com/junit-team/junit5-samples

À partir de la version 5.4.0-M1 JUnit Jupiter fournit un artefact agrégateur qui regroupe tous les artefacts définissant Jupiter disponibles pour une consommation facile. Voir https://sormuras.github.io/blog/2018-12-26-junit-jupiter-aggregator.html pour plus de détails.

11
Sormuras

Ajoutez la dépendance suivante dans pom.xml. jupiter API [Junit 5] aborde les modules comme des plugins, chacun doit être délibérément ajouté,

<dependency>
  <groupId>org.junit.jupiter</groupId>
  <artifactId>junit-jupiter-params</artifactId>
  <version>${junit.version}</version>
  <scope>test</scope>
</dependency>

Plus d'informations sur: https://mvnrepository.com/artifact/org.junit.jupiter

0
147.3k