Solución:
tl; dr mvn test -Dsuites="some.package.SpecsClass"
Encontré una respuesta desde aquí y funciona: (https://groups.google.com/forum/#!topic/scalatest-users/Rr0gy61dg-0)
ejecutar la prueba ‘una prueba pendiente’ en HelloSuite
, y todas las pruebas en HelloWordSpec
:
mvn test -Dsuites="org.example.
HelloSuite @a pending test, org.example.HelloWordSpec"
-
ejecutar todas las pruebas en
HelloSuite
conteniendo'hello'
:mvn test
-Dsuites="org.example.HelloSuite
hello"
para más detalles: http://scalatest.org/user_guide/using_the_scalatest_maven_plugin
Encontré la respuesta: es
-DwildcardSuites
Así que aquí está la línea de comando de ejemplo:
mvn -pl streaming -DwildcardSuites=org.apache.spark.streaming.InputStreamSuite test
Actualizar Versiones más recientes de scalatest
usar
-Dsuites
Entonces la sintaxis sería:
mvn -pl streaming -Dsuites=org.apache.spark.streaming.InputStreamSuite test
Tenga en cuenta que si tiene algunas pruebas de Java en el mismo módulo, como gran parte de Spark, debe desactivarlas, lo que puede hacer al decirle a surefire que ejecute una prueba que no está allí.
Aquí está la prueba que acabo de hacer
mvn test -Dtest=moo -DwildcardSuites=org.apache.spark.deploy.yarn.ClientSuite
Eso omite la prueba de Java y solo ejecuta Scala One.
Una cosa que scalatest no parece hacer es permitirle ejecutar una sola prueba dentro de una suite, como lo hace Maven surefire. Eso no es ideal si tiene una prueba fallida en una suite grande.
[Correction 2016-08-22: looks like you can ask for a specific suite by name; look at the other answers below. Happy to be wrong].