Един от най-трудните проблеми при разработването на софтуер е именуването. Създаването на смислени имена за основните аспекти на една програма, като класове и методи, може да бъде трудно. Ограниченията за именуване, като липса на интервали, допълнително засилват този проблем.

Проблемът с именуването продължава да съществува във всеки аспект от жизнения цикъл на разработката на софтуер, включително тестването. Това е мястото, където анотацията JUnit @DisplayName става полезна.

Какво представлява анотацията @DisplayName?

Един метод може да има няколко тестови метода, всеки от които тества конкретно поведение. Въпреки това, ако присвоите поведенчески имена на тестови методи, те могат да станат многословни и трудни за четене.

Анотацията @DisplayName е JUnit компонент, който ви позволява да създавате персонализирани имена за вашите тестови класове и методи. Тези имена могат да имат интервали, специални знаци и дори емотикони. Анотацията @DisplayName трябва да ви помогне да създадете по-описателни, смислени имена за тестови класове и методи.

instagram viewer

Как да използвате анотацията @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, следователно е добре да се научите как да ги използвате.