Eines der schwierigsten Probleme in der Softwareentwicklung ist die Benennung. Das Erstellen aussagekräftiger Namen für die grundlegenden Aspekte eines Programms, wie Klassen und Methoden, kann schwierig sein. Namensbeschränkungen, wie z. B. keine Leerzeichen, verstärken dieses Problem weiter.
Das Namensproblem besteht in jedem Aspekt des Softwareentwicklungslebenszyklus, einschließlich des Testens. Hier wird die JUnit @DisplayName-Anmerkung nützlich.
Was ist die @DisplayName-Anmerkung?
Eine einzelne Methode kann mehrere Testmethoden haben, die jeweils ein bestimmtes Verhalten testen. Wenn Sie Testmethoden jedoch Verhaltensnamen zuweisen, können sie langatmig und schwer lesbar werden.
Die Annotation @DisplayName ist eine JUnit-Komponente, mit der Sie benutzerdefinierte Namen für Ihre Testklassen und -methoden erstellen können. Diese Namen können Leerzeichen, Sonderzeichen und sogar Emojis enthalten. Die Annotation @DisplayName soll Ihnen dabei helfen, aussagekräftigere Namen für Testklassen und -methoden zu erstellen.
Verwendung der @DisplayName-Anmerkung
In einem JUnit-Testklasse, wird die Annotation @DisplayName über dem Klassennamen oder direkt vor der Methodendeklaration angezeigt. Die Annotation @DisplayName akzeptiert ein einzelnes Argument (den Namen). Dieses Argument taucht später in Testberichten auf, wodurch die Testdokumentation aussagekräftiger wird.
Paket Anzeigename;
importieren org.junit.jupiter.api. Anzeigename;
importieren org.junit.jupiter.api. Prüfen;@Anzeigename("Prüfen Klassedemonstrierenwiedas @AnzeigenameAnmerkungfunktioniert.&Zitat;)
KlasseDisplayNameTest{
@Prüfen
@Anzeigename("Anzeigename mit Sonderzeichen testen: °□°)╯")
LeeretestDisplayNameWithSpecialCharacters(){}@Prüfen
@Anzeigename("Anzeigename mit Leerzeichen wird getestet")
LeeretestDisplayNameWithSpaces(){}
@Prüfen
@Anzeigename("Anzeigename mit Emoji wird getestet: 😱")
LeeretestDisplayNameWithEmoji(){}
}
Das Ausführen dieser Java-Klasse generiert den folgenden JUnit-Einheitentestbericht:
Jedes @DisplayName-Annotationsargument ersetzt seinen jeweiligen Klassen- oder Methodennamen im JUnit-Testbericht. Die Annotation @DisplayName „Testklasse, die demonstriert, wie die Annotation @DisplayName funktioniert“ ist viel aussagekräftiger und umfassender als DisplayNameTest.
Was kommt als nächstes zum Testen?
Zu wissen, wie die Annotation @DisplayName verwendet wird, wird Ihre Komponententestdokumentation sicherlich verbessern. Abgesehen von der Annotation @DisplayName werden Sie feststellen, dass alle Ihre JUnit-Einheitentests eine oder mehrere Zusicherungen benötigen. Behauptungen sind die Bausteine von JUnit-Einheitentests, daher ist es gut zu lernen, wie man sie verwendet.