Cómo compilar pruebas con SBT sin ejecutarlas

97

¿Hay alguna forma de crear pruebas con SBT sin ejecutarlas?

Mi propio caso de uso es ejecutar un análisis estático en el código de prueba utilizando un complemento de scalac. Otro posible caso de uso es ejecutar parte o todo el código de prueba utilizando un corredor diferente al integrado en SBT.

Idealmente, habría una solución a este problema que se aplica a cualquier proyecto SBT. Por ejemplo, Maven tiene un comando de compilación de prueba que se puede usar solo para compilar las pruebas sin ejecutarlas. Sería genial si SBT tuviera lo mismo.

Menos ideales, pero muy útiles, serían las soluciones que implican modificar los archivos de compilación del proyecto.

usuario1809090
fuente

Respuestas:

160

Solo usa el test:compilecomando.

Guillaume Massé
fuente
1
¿Esto compila las pruebas y el código? o solo las pruebas?
Jwan622
21

test:compile funciona para compilar sus pruebas unitarias.

Para compilar pruebas de integración puede utilizar it:compile.

Otro consejo para compilar continuamente en cada cambio de archivo: ~test:compile

Brendan Maguire
fuente
6

Tenemos un build.sbtarchivo que se usa para múltiples proyectos. Hacerlo sbt test:compilecompiló las pruebas para cada proyecto y tomó más de 30 minutos.

Descubrí que solo puedo compilar las pruebas para un proyecto específico nombrado xyzhaciendo:

sbt xyz/test:compile
pacoverflow
fuente