tutorial test example scala sbt scalatest

tutorial - scala test example



¿Cómo configurar sbt test/ScalaTest para mostrar solo fallos? (4)

Después de agregar lo siguiente a build.sbt, scalaTest mostrará un resumen de error después del informe estándar:

testOptions in Test += Tests.Argument("-oI") I - show reminder of failed and canceled tests without stack traces T - show reminder of failed and canceled tests with short stack traces G - show reminder of failed and canceled tests with full stack traces

También hay un indicador "soltar eventos TestSucceeded", pero no he podido usarlo: http://www.scalatest.org/user_guide/using_the_runner

¿Hay alguna forma de truncar los resultados de la prueba para mostrar solo el texto del resultado de las pruebas unitarias solo cuando la prueba de la unidad ha fallado? Estoy trabajando en un proyecto de Scala que tiene 850 pruebas de unidad, y el texto verde de las pruebas de unidad exitosas hace que sea difícil concentrarse solo en las fallas.

Ejemplo de lo que estoy hablando:

[info] - should have colors [info] - should not be dead //.... x 100 [info] - animals should not be rainbows *** FAILED *** [info] -"[rainbow]s" was not equal to "[ponie]s" (HappinessSpec.scala:31)

Lo que me gustaría es algo que solo muestre la (s) falla (s):

[info] - animals should not be rainbows *** FAILED *** [info] -"[rainbow]s" was not equal to "[ponie]s" (HappinessSpec.scala:31)

Me doy cuenta de que existe el comando sbt de test-quick , pero aún se están ejecutando 300 pruebas unitarias en mi caso cuando solo hay 30 fallas.

Algo parecido a esto en términos de uso es lo que estoy buscando:

sbt> ~ test -showOnlyFailures

También estaría contento con algo que muestre todos los fallos al final de la ejecución de las pruebas unitarias. IIRC, así es como funciona RSpec en Ruby ...


Para aquellos que usan maven con el plugin scalatest-maven, puede agregar esta configuración:

<configuration> <stdout>I</stdout> </configuration>


Podrías probar el comando sbt

last-grep error test

Esto debería mostrarle los errores / fallas solamente.


Respuesta actualizada para Scalatest 3.

Aquí está la nueva sintaxis para su archivo build.sbt para reimprimir todas las fallas en la parte inferior de la ejecución del conjunto de pruebas:

testOptions in Test += Tests.Argument(TestFrameworks.ScalaTest, "-oI")

También es posible que desee suprimir las notificaciones de información, para que sea más fácil ver las fallas.

testOptions in Test += Tests.Argument(TestFrameworks.ScalaTest, "-oNCXELOPQRM")

Esto es lo que representan todas las opciones:

  • N - soltar los eventos TestStarting
  • C - Soltar eventos de TestSucceeded
  • X - Soltar eventos de TestIgnored
  • E - Drop TestPending eventos
  • H - soltar los eventos de SuiteStarting
  • L - drop SuiteCompletado eventos
  • O - soltar los eventos InfoProvided
  • P - drop ScopeOpened eventos
  • Q - Soltar eventos ScopeClosed
  • R - drop ScopePending eventos
  • M - soltar MarkupProvided eventos

"-oI" imprime las notificaciones de error nuevamente al final de la ejecución del conjunto de pruebas, mientras que "-oNCXELOPQRM" solo muestra las pruebas que fallan.

Consulte http://www.scalatest.org/user_guide/using_the_runner para obtener más detalles.