works tests test how example create java unit-testing junit junit4 test-suite

java - tests - junit test android



¿La nueva JUnit 4.8.1 @Category render suites de prueba está casi obsoleta? (1)

Una de las ventajas que debe tener en cuenta es que, en mi humilde opinión, las categorías se definen dentro de las pruebas y las suites se definen fuera. Esto significa que cuando utiliza suites, usted sabe qué pruebas se ejecutarán, pero cuando usa categorías, no las conoce a menos que inspeccione las pruebas o simplemente las ejecute. Al mismo tiempo, cuando mira la prueba usando suites de prueba, no sabe en qué suite está contenida, a menos que verifique sus suites, pero usando categorías, lo verá de inmediato.

Dada la pregunta ''¿Cómo ejecutar todas las pruebas pertenecientes a una determinada categoría?'' y la respuesta sería el siguiente enfoque sería mejor para la organización de prueba?

  1. definir conjunto de prueba maestra que contiene todas las pruebas (por ejemplo, utilizando ClasspathSuite )
  2. diseñar un conjunto suficiente de categorías JUnit (suficiente significa que cada colección deseable de pruebas es identificable por una o más categorías)
  3. calificar cada prueba con categoría (s) relevante (s)
  4. definir suites de prueba específicas basadas en conjunto de pruebas maestras y un conjunto de categorías

Ejemplo:

  • identifique las categorías de velocidad (lenta, rápida), dependencias (simulacro, base de datos, integración, etc.), función ( complete las categorías aplicables ), dominio ( complete las categorías correspondientes ), etc.
  • exigir que cada prueba esté debidamente calificada (etiquetada) con un conjunto relevante de categorías.
  • crear un conjunto de pruebas maestras usando ClasspathSuite (todas las pruebas encontradas en classpath)
  • crear suites específicas clasificando el conjunto de pruebas maestras con categorías, por ejemplo, conjunto de pruebas simuladas, conjunto de pruebas rápidas de bases de datos, integración lenta para el conjunto de pruebas de dominio X, etc.

Mi pregunta es más como solicitar la tasa de aprobación para dicho enfoque frente al enfoque clásico de suite de pruebas. Un beneficio inmejorable es que cada nueva prueba es contenida inmediatamente por suites relevantes sin mantenimiento de suite. Una preocupación es la categorización adecuada de cada prueba.