Um dos problemas mais difíceis no desenvolvimento de software é a nomeação. Criar nomes significativos para os aspectos fundamentais de um programa, como classes e métodos, pode ser complicado. Restrições de nomenclatura, como nenhum espaçamento, amplificam ainda mais esse problema.

O problema de nomenclatura persiste em todos os aspectos do ciclo de vida de desenvolvimento de software, incluindo testes. É aqui que a anotação JUnit @DisplayName se torna útil.

O que é a anotação @DisplayName?

Um único método pode ter vários métodos de teste, cada um testando um comportamento específico. No entanto, se você atribuir nomes comportamentais aos métodos de teste, eles podem se tornar prolixos e difíceis de ler.

A anotação @DisplayName é um componente JUnit que permite criar nomes personalizados para suas classes e métodos de teste. Esses nomes podem ter espaços, caracteres especiais e até emojis. A anotação @DisplayName deve ajudá-lo a criar nomes mais descritivos e significativos para classes e métodos de teste.

Como usar a anotação @DisplayName

Em um aula de teste JUnit, a anotação @DisplayName aparece acima do nome da classe ou logo antes da declaração do método. A anotação @DisplayName recebe um único argumento (o nome). Esse argumento aparece posteriormente em relatórios de teste, tornando a documentação de teste mais descritiva.

pacote Nome em Exibição;

importar org.junit.jupiter.api. Nome em Exibição;
importar org.junit.jupiter.api. Teste;

@Nome em Exibição("Teste classedemonstrandoComo asa @Nome em Exibiçãoanotaçãofunciona.&citação;)
classeDisplayNameTest{
@Teste
@Nome em Exibição("Teste de nome de exibição contendo caracteres especiais: °□°)╯")
vaziotestDisplayNameWithSpecialCharacters(){}

@Teste
@Nome em Exibição("Teste de nome de exibição contendo espaço")
vaziotestDisplayNameWithSpaces(){}

@Teste
@Nome em Exibição("Testando nome de exibição contendo emoji: 😱")
vaziotestDisplayNameWithEmoji(){}
}

A execução dessa classe Java gera o seguinte relatório de teste de unidade JUnit:

Cada argumento de anotação @DisplayName substitui sua respectiva classe ou nome de método no relatório de teste JUnit. A anotação @DisplayName, “Classe de teste demonstrando como funciona a anotação @DisplayName” é muito mais expressiva e abrangente do que DisplayNameTest.

O que vem a seguir para o teste?

Saber usar a anotação @DisplayName certamente melhorará sua documentação de teste de unidade. Além da anotação @DisplayName, você descobrirá que todos os seus testes de unidade JUnit precisarão de uma ou mais asserções. Asserções são os blocos de construção dos testes de unidade JUnit, portanto, é bom aprender a usá-los.