Ett av de svåraste problemen inom mjukvaruutveckling är namngivning. Att skapa meningsfulla namn för de grundläggande aspekterna av ett program, såsom klasser och metoder, kan vara svårt. Namnbegränsningar, såsom inget mellanrum, förstärker detta problem ytterligare.

Namnproblemet kvarstår i alla aspekter av mjukvaruutvecklingens livscykel, inklusive testning. Det är här JUnit @DisplayName-kommentaren blir användbar.

Vad är @DisplayName-anteckningen?

En enskild metod kan ha flera testmetoder som var och en testar ett specifikt beteende. Men om du tilldelar testmetoder beteendenamn kan de bli ordrika och svåra att läsa.

@DisplayName-kommentaren är en JUnit-komponent som låter dig skapa anpassade namn för dina testklasser och metoder. Dessa namn kan ha mellanslag, specialtecken och till och med emojis. @DisplayName-kommentaren bör hjälpa dig att skapa mer beskrivande, meningsfulla namn för testklasser och metoder.

Så här använder du @DisplayName-kommentaren

I en JUnit test klass, visas @DisplayName-kommentaren ovanför klassnamnet eller strax före metoddeklarationen. @DisplayName-kommentaren tar ett enda argument (namnet). Detta argument visas senare i testrapporter, vilket gör testdokumentationen mer beskrivande.

instagram viewer

paket visningsnamn;

importera org.junit.jupiter.api. DisplayName;
importera org.junit.jupiter.api. Testa;

@Visningsnamn("Testa klassdemonstrerarhurde @VisningsnamnanteckningArbetar.")
klassDisplayNameTest{
@Testa
@Visningsnamn("Testvisningsnamn som innehåller specialtecken: °□°)╯")
tomhettestDisplayNameWithSpecialCharacters(){}

@Testa
@Visningsnamn("Testar visningsnamn som innehåller mellanslag")
tomhettestDisplayNameWithSpaces(){}

@Testa
@Visningsnamn("Testar visningsnamn som innehåller emoji: 😱")
tomhettestDisplayNameWithEmoji(){}
}

Genom att köra den här Java-klassen genereras följande JUnit-enhetstestrapport:

Varje @DisplayName-anteckningsargument ersätter dess respektive klass- eller metodnamn i JUnit-testrapporten. @DisplayName-kommentaren, "Testklass som visar hur @DisplayName-kommentaren fungerar" är mycket mer uttrycksfull och heltäckande än DisplayNameTest.

Vad är nästa för att testa?

Att veta hur man använder @DisplayName-kommentaren kommer säkerligen att förbättra din enhetstestdokumentation. Förutom @DisplayName-kommentaren kommer du att upptäcka att alla dina JUnit-enhetstester kommer att behöva en eller flera påståenden. Påståenden är byggstenarna i JUnit enhetstester, därför är det bra att lära sig hur man använder dem.