web-dev-qa-db-fra.com

Quel est l'équivalent de la règle TestName dans JUnit 5?

Comment puis-je obtenir le nom de la méthode de test dans JUnit 5?

17
Mahozad

Déclarez un paramètre de type TestInfo dans votre méthode de test et JUnit en fournira automatiquement une instance pour la méthode:

@Test
void getTestInfo(TestInfo testInfo) { // Automatically injected
    System.out.println(testInfo.getDisplayName());
    System.out.println(testInfo.getTestMethod());
    System.out.println(testInfo.getTestClass());
    System.out.println(testInfo.getTags());
}

Vous pouvez obtenir le nom de la méthode de test (et plus) à partir de l'instance TestInfo comme indiqué ci-dessus.

12
Mahozad

Personnellement, je préfère utiliser ceci:

System.out.println(Thread.currentThread().getStackTrace()[1].getMethodName());

3
John Carroll