Един от най-трудните проблеми при разработването на софтуер е именуването. Създаването на смислени имена за основните аспекти на една програма, като класове и методи, може да бъде трудно. Ограниченията за именуване, като липса на интервали, допълнително засилват този проблем.
Проблемът с именуването продължава да съществува във всеки аспект от жизнения цикъл на разработката на софтуер, включително тестването. Това е мястото, където анотацията JUnit @DisplayName става полезна.
Какво представлява анотацията @DisplayName?
Един метод може да има няколко тестови метода, всеки от които тества конкретно поведение. Въпреки това, ако присвоите поведенчески имена на тестови методи, те могат да станат многословни и трудни за четене.
Анотацията @DisplayName е JUnit компонент, който ви позволява да създавате персонализирани имена за вашите тестови класове и методи. Тези имена могат да имат интервали, специални знаци и дори емотикони. Анотацията @DisplayName трябва да ви помогне да създадете по-описателни, смислени имена за тестови класове и методи.
Как да използвате анотацията @DisplayName
В JUnit тестов клас, анотацията @DisplayName се появява над името на класа или точно преди декларацията на метода. Анотацията @DisplayName приема един аргумент (името). Този аргумент по-късно се появява в докладите от тестове, което прави документацията за тестване по-описателна.
пакет екранно име;
импортиране org.junit.jupiter.api. DisplayName;
импортиране org.junit.jupiter.api. Тест;@Показвано име("Тест класдемонстриранекакна @Екранно имеанотациявърши работа.")
класDisplayNameTest{
@Тест
@Показвано име("Тестване на показвано име, съдържащо специални знаци: °□°)╯")
невалиденtestDisplayNameWithSpecialCharacters(){}@Тест
@Показвано име(„Тестване на показваното име, съдържащо интервал“)
невалиденtestDisplayNameWithSpaces(){}
@Тест
@Показвано име(„Тестване на показвано име, съдържащо емоджи: 😱“)
невалиденtestDisplayNameWithEmoji(){}
}
Изпълнението на този Java клас генерира следния отчет за тест на единица JUnit:
Всеки аргумент за анотация @DisplayName замества името на съответния клас или метод в тестовия отчет на JUnit. Анотацията @DisplayName, „Тестов клас, демонстриращ как работи анотацията @DisplayName“ е много по-изразителна и изчерпателна от DisplayNameTest.
Какво следва за тестване?
Знаейки как да използвате анотацията @DisplayName със сигурност ще подобри вашата документация за единичен тест. Освен анотацията @DisplayName, ще откриете, че всички ваши JUnit модулни тестове ще се нуждаят от едно или повече твърдения. Твърденията са градивните елементи на модулните тестове на JUnit, следователно е добре да се научите как да ги използвате.