关于previous question,我想为不同类型的测试提供多个测试文件夹,并且能够使用单独的SBT操作执行每个文件夹中包含的测试。
例如,一个动作'test-unit'只运行 src / test / scala / unit 文件夹下的测试,'test-functional'动作只运行测试在 src / test / scala / functional 下。我们如何编写动作来做到这一点?
答案 0 :(得分:5)
如果您使用的是xsbt
0.10.0,则可以通过在project
文件夹中的Scala文件中定义完整的构建配置来轻松创建additional test configurations。下面是集成测试的wiki示例。默认目录布局与您的稍有不同,单元测试在 src / test / scala 中进行,并在 src / it / scala 中进行集成测试。然后,您可以从控制台运行test
以执行单元测试,或运行it:test
进行集成测试。
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"
}