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

La fonction GCP Cloud pour écrire des données dans BigQuery s'exécute avec succès, mais les données n'apparaissent pas dans la table BigQuery

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

Le shell POSIX (sh) redirige stderr vers stdout et capture stderr et stdout dans des variables