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