In sbt 0.10.1, I frequently use test-only
to narrow down the number of my tests.
sbt> test-only com.example.MySpec
However, I w
You can match on test cases by their name (instead of or in addition to suite class names) by using framework-specific runner arguments. ScalaTest supports a substring match with the -z
argument:
> testOnly -- -z insert
> testOnly *TreeSpec -- -z insert
This runs all tests with "insert" in their name, then only the matching cases within suites ending in TreeSpec
, as you would intuit. You can also use -n TagName
and -l TagName
to include or exclude, respectively, tags from ScalaTest's tagging support, and -t
to match an exact test name.
Specs2 supports full Java regular expressions with an -ex
argument:
> testOnly -- -ex ".*someRexExp.*"
-include
and -exclude
support Spec2's tagging features.
See the inline links for full lists of arguments that the runners support. These appear to only work with the testOnly
sbt command and not test
.
Full regular expressions are not supported by testOnly
. Wildcards are supported, however.
sbt> testOnly com.example.*Spec
Only the asterisk *
is interpreted specially here and not the periods. This will select all tests beginning with com.example.
and ending with Spec
.
Or just all test Spec
s:
sbt> testOnly *Spec
testOnly
and other testing information is documented here: http://www.scala-sbt.org/release/docs/Detailed-Topics/Testing