L'un des problèmes les plus difficiles dans le développement de logiciels est le nommage. Créer des noms significatifs pour les aspects fondamentaux d'un programme, tels que les classes et les méthodes, peut être délicat. Les restrictions de dénomination, telles que l'absence d'espacement, amplifient encore ce problème.

Le problème de nommage persiste dans tous les aspects du cycle de vie du développement logiciel, y compris les tests. C'est là que l'annotation JUnit @DisplayName devient utile.

Qu'est-ce que l'annotation @DisplayName ?

Une même méthode peut avoir plusieurs méthodes de test qui testent chacune un comportement spécifique. Cependant, si vous attribuez des noms comportementaux aux méthodes de test, ils peuvent devenir longs et difficiles à lire.

L'annotation @DisplayName est un composant JUnit qui vous permet de créer des noms personnalisés pour vos classes et méthodes de test. Ces noms peuvent avoir des espaces, des caractères spéciaux et même des emojis. L'annotation @DisplayName devrait vous aider à créer des noms plus descriptifs et significatifs pour les classes et méthodes de test.

Comment utiliser l'annotation @DisplayName

Dans un Classe de test JUnit, l'annotation @DisplayName apparaît au-dessus du nom de la classe ou juste avant la déclaration de la méthode. L'annotation @DisplayName prend un seul argument (le nom). Cet argument apparaît plus tard dans les rapports de test, rendant la documentation de test plus descriptive.

forfait Afficher un nom;

importer org.junit.jupiter.api. Afficher un nom;
importer org.junit.jupiter.api. Test;

@Afficher un nom("Test classerdémontrercommentla @Afficher un nomannotationœuvres.")
classerDisplayNameTest{
@Test
@Afficher un nom("Test du nom d'affichage contenant des caractères spéciaux: °□°)╯")
annulertestDisplayNameWithSpecialCharacters(){}

@Test
@Afficher un nom("Test du nom d'affichage contenant un espace")
annulertestDisplayNameWithSpaces(){}

@Test
@Afficher un nom("Test du nom d'affichage contenant des emoji: 😱")
annulertestDisplayNameWithEmoji(){}
}

L'exécution de cette classe Java génère le rapport de test unitaire JUnit suivant :

Chaque argument d'annotation @DisplayName remplace son nom de classe ou de méthode respectif dans le rapport de test JUnit. L'annotation @DisplayName, "Classe de test démontrant le fonctionnement de l'annotation @DisplayName" est beaucoup plus expressive et complète que DisplayNameTest.

Quelle est la prochaine étape pour les tests ?

Savoir utiliser l'annotation @DisplayName améliorera certainement votre documentation de test unitaire. Outre l'annotation @DisplayName, vous constaterez que tous vos tests unitaires JUnit nécessiteront une ou plusieurs assertions. Les assertions sont les blocs de construction des tests unitaires JUnit, il est donc bon d'apprendre à les utiliser.