Comment utiliser la source de fichier CSV de test paramétré JUnit5 ?

J'essaie d'exécuter un test paramétré à partir d'un fichier CSV.

Cela fonctionne si j'utilise juste CSVSource comme ça:

@ParameterizedTest
@CsvSource({ "a,A", "b,B" })
void csvSourceTest(String input, String expected) {
String actualValue = input.toUpperCase();
assertEquals(expected, actualValue);
}

Mais si j'essaie la même chose à partir d'un fichier, cela ne fonctionnera pas:

@ParameterizedTest
@CsvFileSource(resources = "/data.csv")
void csvFileSourceTest(String input, String expected) {
String actualValue = input.toUpperCase();
assertEquals(expected, actualValue);
}

J'ai également essayé d'utiliser un chemin dur vers mon fichier mais pour le test de fichier dans Eclipse, je reçois toujours le message

Aucun test trouvé avec le test runnter 'JUnit 5'.

Où JUnit attend-il le fichier ?

Voici mes dépendances:

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

Est-ce que quelqu'un sait ce que je pourrais manquer ou où est l'erreur?

Merci d'avance
PAUL


Solution du problème

Le guide de l'utilisateur JUnit5 indique que le fichier CSV doit se trouver sur le chemin de classe. Dans le cas d'un projet Maven, ce serait src/test/resources.

Commentaires

Posts les plus consultés de ce blog

Erreur Symfony : "Une exception a été levée lors du rendu d'un modèle"

Détecter les appuis sur les touches fléchées en JavaScript

Une chaîne vide donne "Des erreurs ont été détectées dans les arguments de la ligne de commande, veuillez vous assurer que tous les arguments sont correctement définis"