Uno de los problemas más difíciles en el desarrollo de software es la asignación de nombres. Crear nombres significativos para los aspectos fundamentales de un programa, como clases y métodos, puede ser complicado. Las restricciones de nombres, como la ausencia de espacios, amplifican aún más este problema.

El problema de los nombres persiste en todos los aspectos del ciclo de vida del desarrollo de software, incluidas las pruebas. Aquí es donde la anotación JUnit @DisplayName se vuelve útil.

¿Qué es la anotación @DisplayName?

Un solo método puede tener varios métodos de prueba, cada uno de los cuales prueba un comportamiento específico. Sin embargo, si asigna nombres de comportamiento a los métodos de prueba, pueden volverse prolijos y difíciles de leer.

La anotación @DisplayName es un componente JUnit que le permite crear nombres personalizados para sus clases y métodos de prueba. Estos nombres pueden tener espacios, caracteres especiales e incluso emojis. La anotación @DisplayName debería ayudarlo a crear nombres más descriptivos y significativos para las clases y los métodos de prueba.

instagram viewer

Cómo utilizar la anotación @DisplayName

en un Clase de prueba JUnit, la anotación @DisplayName aparece sobre el nombre de la clase o justo antes de la declaración del método. La anotación @DisplayName toma un único argumento (el nombre). Este argumento aparece más tarde en los informes de las pruebas, lo que hace que la documentación de las pruebas sea más descriptiva.

paquete nombre para mostrar;

importar org.junit.jupiter.api. Nombre para mostrar;
importar org.junit.jupiter.api. Prueba;

@Nombre para mostrar("Prueba clasedemostrandocómola @Nombre para mostraranotaciónobras.&cita;)
clasePrueba de nombre de visualización{
@Prueba
@Nombre para mostrar("Probando el nombre para mostrar que contiene caracteres especiales: °□°)╯")
vacíotestDisplayNameWithSpecialCharacters(){}

@Prueba
@Nombre para mostrar("Probando el nombre para mostrar que contiene un espacio")
vacíotestDisplayNameWithSpaces(){}

@Prueba
@Nombre para mostrar("Probando el nombre para mostrar que contiene emoji: 😱")
vacíopruebaMostrarNombreConEmoji(){}
}

La ejecución de esta clase de Java genera el siguiente informe de prueba de la unidad JUnit:

Cada argumento de anotación @DisplayName reemplaza su respectivo nombre de clase o método en el informe de prueba JUnit. La anotación @DisplayName, "Clase de prueba que demuestra cómo funciona la anotación @DisplayName" es mucho más expresiva y completa que DisplayNameTest.

¿Qué sigue para las pruebas?

Saber cómo usar la anotación @DisplayName sin duda mejorará la documentación de la prueba unitaria. Además de la anotación @DisplayName, encontrará que todas sus pruebas unitarias JUnit necesitarán una o más afirmaciones. Las aserciones son los componentes básicos de las pruebas unitarias JUnit, por lo tanto, es bueno aprender a usarlas.