wordspec test shouldbe matchers flatspec failure example assertthrows scala testing scalatest

shouldbe - scalatest wordspec



Cómo deshabilitar el conjunto de pruebas en ScalaTest (4)

¿Cómo deshabilitar un conjunto de pruebas, es decir, todas las pruebas dentro de la clase que extienden FunSpec ?

La única solución que encontré es reemplazarla con ignore delante de cada prueba, pero es aburrido hacerlo con las docenas de pruebas.


La manera fácil de hacer esto en 1.8 es agregar un constructor que tome un argumento ficticio. ScalaTest (y sbt) no descubrirá la clase si no tiene un constructor público, sin argumentos:

class MySuite(ignore: String) extends FunSuite { // ... }

En 2.0 podrás simplemente escribir @Ignore en la clase:

@Ignore class MySuite extends FunSuite { // ... }


Las etiquetas son una opción, pero debe etiquetar cada prueba en consecuencia, no puede excluir los trajes completos de esa manera. Sin embargo, como mencionó el usuario272735, las pruebas de etiquetado son un esfuerzo de una sola vez.

Otra opción es definir una suite maestra y limitar la lista de nestedSuites a las suites que le gustaría ejecutar ( consulte la documentación ). La desventaja obvia es que debe mantener el conjunto de prueba maestro, es decir, agregarle los conjuntos de prueba recién creados. Podría evitar esto recurriendo a través de sus carpetas, creando una lista de todos los trajes de prueba que se pueden encontrar y restando aquellos que puso en una lista negra. Además, recurrir a través de sus carpetas ya le brinda la oportunidad de filtrar los archivos que coinciden con un criterio dado (externamente).

Una tercera opción, aunque sea más complicada, es cambiar el paquete al que pertenecen las suites que desea incluir en la lista negra. A continuación, puede usar un corredor de prueba para ejecutar solo los juegos incluidos en ciertos paquetes. Lea más en los documentos, en la sección "Especificación de las rutas de la suite ''solo para miembros'' y ''comodín''" .


Puede usar @Ignore tanto para pruebas distintas como para todo el traje.


Tag las pruebas problemáticas y luego excluya o incluya pruebas basadas en la etiqueta.

El etiquetado es un esfuerzo de una sola vez.