Jedním z nejobtížnějších problémů při vývoji softwaru je pojmenování. Vytváření smysluplných názvů pro základní aspekty programu, jako jsou třídy a metody, může být složité. Omezení pojmenování, například žádné mezery, tento problém dále umocňují.
Problém s pojmenováním přetrvává v každém aspektu životního cyklu vývoje softwaru, včetně testování. Zde je užitečná anotace JUnit @DisplayName.
Co je anotace @DisplayName?
Jedna metoda může mít několik testovacích metod, z nichž každá testuje určité chování. Pokud však testovacím metodám přiřadíte názvy chování, mohou se stát rozvláčnými a obtížně čitelnými.
Anotace @DisplayName je komponenta JUnit, která vám umožňuje vytvářet vlastní názvy pro vaše testovací třídy a metody. Tyto názvy mohou obsahovat mezery, speciální znaky a dokonce i emotikony. Anotace @DisplayName by vám měla pomoci vytvořit popisnější a smysluplnější názvy pro testovací třídy a metody.
Jak používat anotaci @DisplayName
V JUnit zkušební třída, anotace @DisplayName se objeví nad názvem třídy nebo těsně před deklarací metody. Anotace @DisplayName má jeden argument (název). Tento argument se později objeví v testovacích zprávách, díky čemuž je testovací dokumentace popisnější.
balík zobrazované jméno;
import org.junit.jupiter.api. DisplayName;
import org.junit.jupiter.api. Test;@Zobrazované jméno("Test třídademonstrovatjaka @DisplayNameanotacefunguje.")
třídaDisplayNameTest{
@Test
@Zobrazované jméno("Testovací zobrazovaný název obsahující speciální znaky: °□°)╯")
prázdnotatestDisplayNameWithSpecialCharacters(){}@Test
@Zobrazované jméno("Testovací zobrazovaný název obsahující mezeru")
prázdnotatestDisplayNameWithSpaces(){}
@Test
@Zobrazované jméno("Testovací zobrazovaný název obsahující emotikony: 😱")
prázdnotatestDisplayNameWithEmoji(){}
}
Spuštění této třídy Java vygeneruje následující zprávu o testu jednotky JUnit:
Každý argument anotace @DisplayName nahradí název příslušné třídy nebo metody v sestavě testu JUnit. Anotace @DisplayName, „Testovací třída demonstrující, jak funguje anotace @DisplayName“, je mnohem výraznější a obsáhlejší než DisplayNameTest.
Co bude dál s testováním?
Znalost toho, jak používat anotaci @DisplayName, jistě zlepší dokumentaci vašeho testu jednotky. Kromě anotace @DisplayName zjistíte, že všechny vaše testy jednotek JUnit budou potřebovat jedno nebo více asercí. Tvrzení jsou stavebními kameny jednotkových testů JUnit, proto je dobré se je naučit používat.