在SBT中为多个测试文件夹设置操作

时间:2011-06-03 07:35:21

标签: scala sbt scalatest

关于previous question,我想为不同类型的测试提供多个测试文件夹,并且能够使用单独的SBT操作执行每个文件夹中包含的测试。

例如,一个动作'test-unit'只运行 src / test / scala / unit 文件夹下的测试,'test-functional'动作只运行测试在 src / test / scala / functional 下。我们如何编写动作来做到这一点?

1 个答案:

答案 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"
}