¿Es una buena práctica poner los comentarios de Javadoc en las clases y métodos de prueba junit? ¿O es la idea de que deberían ser tan fáciles de leer y simples que no es necesario proporcionar una descripción del intento de la prueba?Javadoc en las clases de prueba de Junit?
Respuesta
Personalmente uso los comentarios de javadoc con moderación ya que creo que aumentan el desorden en la pantalla. Si puedo nombrar una clase, función o variable de una manera más autodescriptiva, prefiero un comentario. Un excelente libro para leer sobre este tema es Clean Code por Robert C. Martin (a.k. un tío Bob).
Mi preferencia personal es hacer que tanto la clase y métodos de auto descriptivos decir
class ANewEventManager {
@Test
public void shouldAllowClassesToSubscribeToEvents() {
/* Test logic here */
}
}
Una ventaja de este enfoque es que es fácil de ver en la salida junit lo que está fallando antes de navegar por el código.
Uso Javadoc en mi prueba mucho. Pero solo se vuelve realmente útil cuando agrega su propia etiqueta a su javadoc.
El objetivo principal aquí es hacer que la prueba sea comprensible para otros desarrolladores que contribuyan a su proyecto. Y para eso ni siquiera necesitamos generar el javadoc real.
/**
* Create a valid account.
* @result Account will be persisted without any errors,
* and Account.getId() will no longer be <code>null</code>
*/
@Test
public void createValidAccount() {
accountService.create(account);
assertNotNull(account.getId());
}
A continuación, tendremos que notificar a nuestro plugin Javadoc en maven que hemos agregado una nueva etiqueta.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.8</version>
<configuration>
<tags>
<tag>
<name>result</name>
<placement>a</placement>
<head>Test assertion :</head>
</tag>
</tags>
</configuration>
</plugin>
</plugins>
</build>
Y ahora todo lo que queda por hacer es llamar a nuestro plugin maven.
javadoc:test-javadoc (or javadoc:test-aggregate for multi-module projects)
Este es un ejemplo bastante fácil, pero cuando se ejecutan pruebas más complejas, es imposible describir las pruebas por el simple uso de un nombre de método de auto-descriptivo.
¿Cuál sería el resultado de tu ejemplo? – jgomo3
También me gustan los comentarios en UT, ayuda a entender el caso de uso en segundos.
Creé una pequeña biblioteca para incluir descripciones en la pila de cualquier tipo de informe, cualquiera que esté revisando los informes puede acceder fácilmente al problema.
El nombre de la biblioteca es Frutilla, no dude en usarlo https://github.com/ignaciotcrespo/frutilla
- 1. Las clases de prueba JUnit no se muestran en JMeter
- 2. Separación de clases JUnit en un paquete de prueba especial?
- 3. Conjunto de pruebas Junit 4 y clases de prueba individuales
- 4. error en la definición de las clases internas en una clase de prueba de JUnit
- 5. Contexto de aplicación de primavera de reutilización en las clases de prueba junit
- 6. JUnit: cómo evitar "ningún método ejecutable" en las clases de utilidad de prueba
- 7. Mejor o personalizado JUnit prueba de filtrado
- 8. JUnit Reports - Descripciones de los métodos de prueba
- 9. ¿Cómo leer las propiedades de Maven de la prueba JUnit?
- 10. Servidor de prueba con JUnit
- 11. Creación de instancias de objetos en las clases de prueba
- 12. Prueba JUnit para System.out.println()
- 13. Prueba FragmentActivity Junit
- 14. ¿Cómo evitar las afirmaciones múltiples en una prueba JUnit?
- 15. ¿Por qué Eclipse no genera javadoc para todas las clases?
- 16. Directorio de datos de prueba con jUnit
- 17. Clase de prueba genérica de JUnit
- 18. ¿JUnit ejecuta casos de prueba secuencialmente?
- 19. Prueba de clases de Java con JMeter
- 20. JUnit Método de prueba con naturaleza aleatoria
- 21. generador de caso de prueba junit
- 22. Prueba de generación de gráficos con JUnit
- 23. Python ... clases de prueba?
- 24. Ejemplificación de simulación automática en una prueba de Spring JUnit
- 25. convención de nomenclatura JUnit sufijo o prefijo prueba
- 26. Ant, correr todo jUnit prueba
- 27. Ejecutar todas las pruebas en Junit 4
- 28. Prueba de código asíncrono con JUnit
- 29. Excluir métodos de prueba JUnit individuales sin modificar la clase de prueba?
- 30. método de prueba junit para getters & setters
lectura código limpio en este momento. Acabo de terminar Unit Testing por Roy Ohserov quien realmente enfatizó la legibilidad humana de las pruebas de unidad e integración. – HDave