Setting up actions for multiple test folders in SBT
In relation to a previous question, I'd like to have multiple test folders for different types of test and be able to execute the tests contained in each folder with a separate SBT action.
For example, an action 'test-unit' would run only the tests contained under the folder src/test/scala/unit, and a 'test-functional' action would run only the tests under src/test/scala/functional. How woul开发者_JS百科d we write actions to do this?
If you are using xsbt
0.10.0, you can easily create additional test configurations by defining the a full build configuration in a Scala file located in your project
folder. Below is the wiki example for integration tests. The default directory layout is a bit different from yours, unit tests go in src/test/scala and integration tests in src/it/scala. From the console, you can then run test
to execute unit tests or it:test
for integration tests.
import sbt._
import Keys._
object B extends Build
{
lazy val root =
Project("root", file("."))
.configs( IntegrationTest )
.settings( Defaults.itSettings : _*)
.settings( libraryDependencies += specs )
lazy val specs = "org.scala-tools.testing" %% "specs" % "1.6.8" % "it"
}
精彩评论