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

Chu*_*ucK 8 scala sbt scalatest

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

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

Mar*_*ela 5

如果使用的是xsbt0.10.0,则可以通过在文件夹中的Scala文件中定义完整构建配置来轻松创建其他测试配置project。以下是用于集成测试的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"
}
Run Code Online (Sandbox Code Playgroud)