www org scala sbt

org - scala sbt install windows



¿Cómo ejecutar pruebas que coinciden con una expresión regular solamente? (2)

Full testOnly expresiones no son compatibles con testOnly . Los comodines son compatibles, sin embargo.

sbt> testOnly com.example.*Spec

Solo el asterisco * se interpreta especialmente aquí y no los puntos. Esto seleccionará todas las pruebas que comiencen con com.example. y terminando con Spec .

O solo todas las Spec prueba:

sbt> testOnly *Spec

testOnly y otra información de prueba está documentada aquí: http://www.scala-sbt.org/release/docs/Detailed-Topics/Testing

En sbt 0.10.1, con frecuencia utilizo test-only para reducir el número de mis pruebas.

sbt> test-only com.example.MySpec

Sin embargo, quiero restringir de tal manera que solo ejecute pruebas cuyo nombre / descripción coincida con una expresión regular. ¿Hay alguna sintaxis para lograr algo como esto?

sbt> test-only .*someRexExp.*


Puede coincidir en los casos de prueba por su nombre (en lugar de o además de los nombres de clase de suite) mediante el uso de argumentos de corredor específicos del marco . ScalaTest admite una coincidencia de subcadena con el argumento -z :

> testOnly -- -z insert > testOnly *TreeSpec -- -z insert

Esto ejecuta todas las pruebas con "insertar" en su nombre, y luego solo los casos coincidentes dentro de las suites que terminan en TreeSpec , como lo TreeSpec . También puede usar -n TagName y -l TagName para incluir o excluir, respectivamente, las etiquetas del soporte de etiquetado de ScalaTest, y -t para que coincida con un nombre de prueba exacto.

Specs2 admite expresiones regulares completas de Java con un argumento -ex :

> testOnly -- -ex ".*someRexExp.*"

-include and -include support Funciones de etiquetado de Spec2.

Consulte los enlaces en línea para obtener una lista completa de los argumentos que admiten los corredores. Estos parecen funcionar solo con el comando testOnly sbt y no test .