Uno dei problemi più difficili nello sviluppo del software è la denominazione. Creare nomi significativi per gli aspetti fondamentali di un programma, come classi e metodi, può essere complicato. Le restrizioni sui nomi, come l'assenza di spaziatura, amplificano ulteriormente questo problema.
Il problema della denominazione persiste in ogni aspetto del ciclo di vita dello sviluppo del software, compresi i test. È qui che diventa utile l'annotazione JUnit @DisplayName.
Che cos'è l'annotazione @DisplayName?
Un singolo metodo può avere diversi metodi di test che testano ciascuno un comportamento specifico. Tuttavia, se assegni nomi comportamentali ai metodi di prova, possono diventare prolissi e difficili da leggere.
L'annotazione @DisplayName è un componente JUnit che consente di creare nomi personalizzati per le classi e i metodi di test. Questi nomi possono avere spazi, caratteri speciali e persino emoji. L'annotazione @DisplayName dovrebbe aiutarti a creare nomi più descrittivi e significativi per classi e metodi di test.
Come utilizzare l'annotazione @DisplayName
In un Classe di prova JUnit, l'annotazione @DisplayName viene visualizzata sopra il nome della classe o appena prima della dichiarazione del metodo. L'annotazione @DisplayName accetta un singolo argomento (il nome). Questo argomento appare in seguito nei rapporti di prova, rendendo la documentazione di prova più descrittiva.
pacchetto nome da visualizzare;
importare org.junit.jupiter.api. Nome da visualizzare;
importare org.junit.jupiter.api. Test;@Nome da visualizzare("Test classedimostrandocomeil @Nome da visualizzareannotazionelavori.")
classeDisplayNameTest{
@Test
@Nome da visualizzare("Test del nome visualizzato contenente caratteri speciali: °□°)╯")
vuototestDisplayNameWithSpecialCharacters(){}@Test
@Nome da visualizzare("Test del nome visualizzato contenente spazio")
vuototestDisplayNameWithSpaces(){}
@Test
@Nome da visualizzare("Test del nome visualizzato contenente emoji: 😱")
vuototestDisplayNameWithEmoji(){}
}
L'esecuzione di questa classe Java genera il seguente report di unit test JUnit:
Ciascun argomento di annotazione @DisplayName sostituisce la rispettiva classe o nome del metodo nel report di test JUnit. L'annotazione @DisplayName, "Classe di test che dimostra come funziona l'annotazione @DisplayName" è molto più espressiva e completa di DisplayNameTest.
Qual è il prossimo passo per i test?
Sapere come utilizzare l'annotazione @DisplayName migliorerà sicuramente la documentazione del test dell'unità. A parte l'annotazione @DisplayName, scoprirai che tutti i tuoi unit test JUnit avranno bisogno di una o più asserzioni. Le asserzioni sono gli elementi costitutivi dei test unitari JUnit, quindi è bene imparare a usarle.