Een van de moeilijkste problemen bij softwareontwikkeling is naamgeving. Het creëren van betekenisvolle namen voor de fundamentele aspecten van een programma, zoals klassen en methoden, kan lastig zijn. Naamgevingsbeperkingen, zoals geen spatiëring, versterken dit probleem nog meer.

Het naamgevingsprobleem blijft bestaan ​​in elk aspect van de levenscyclus van softwareontwikkeling, inclusief testen. Dit is waar de JUnit @DisplayName-annotatie nuttig wordt.

Wat is de @DisplayName-annotatie?

Een enkele methode kan verschillende testmethoden hebben die elk een specifiek gedrag testen. Als u echter gedragsnamen toekent aan testmethoden, kunnen ze omslachtig en moeilijk leesbaar worden.

De @DisplayName-annotatie is een JUnit-component waarmee u aangepaste namen kunt maken voor uw testklassen en -methoden. Deze namen kunnen spaties, speciale tekens en zelfs emoji's bevatten. De @DisplayName-annotatie zou u moeten helpen om meer beschrijvende, betekenisvolle namen voor testklassen en -methoden te maken.

instagram viewer

Hoe de @DisplayName-annotatie te gebruiken

In een JUnit-testklasse, verschijnt de @DisplayName-annotatie boven de klassenaam of net voor de methodedeclaratie. De @DisplayName-annotatie heeft één argument (de naam). Dit argument verschijnt later in testrapporten, waardoor de testdocumentatie meer beschrijvend wordt.

pakket Weergavenaam;

importeren org.junit.jupiter.api. Weergavenaam;
importeren org.junit.jupiter.api. Testen;

@Weergavenaam("Testen klasdemonstrerenhoede @Weergavenaamannotatiewerken.&aanhalingsteken;)
klasWeergaveNaamTest{
@Testen
@Weergavenaam("Testen weergavenaam met speciale tekens: °□°)╯")
leegtetestWeergaveNaamMetSpecialeTekens(){}

@Testen
@Weergavenaam("Testen weergavenaam met spatie")
leegtetestWeergaveNaamMetSpaces(){}

@Testen
@Weergavenaam("Weergavenaam testen met emoji: 😱")
leegtetestWeergaveNaamMetEmoji(){}
}

Het uitvoeren van deze Java-klasse genereert het volgende JUnit-eenheidstestrapport:

Elk @DisplayName-annotatieargument vervangt de respectieve klasse- of methodenaam in het JUnit-testrapport. De @DisplayName-annotatie, "Testklasse die laat zien hoe de @DisplayName-annotatie werkt", is veel expressiever en uitgebreider dan DisplayNameTest.

Wat is de volgende stap voor testen?

Als u weet hoe u de @DisplayName-annotatie moet gebruiken, zal dit zeker de documentatie van uw unittest verbeteren. Afgezien van de @DisplayName-annotatie, zult u merken dat al uw JUnit-eenheidstests een of meer beweringen nodig hebben. Beweringen zijn de bouwstenen van JUnit unit tests, daarom is het goed om ze te leren gebruiken.