Настройка действий для нескольких тестовых папок в SBT - PullRequest
8 голосов
/ 03 июня 2011

Что касается предыдущего вопроса , я хотел бы иметь несколько папок с тестами для разных типов тестов и иметь возможность выполнять тесты, содержащиеся в каждой папке, с отдельным SBT * 1004.* действие.

Например, действие 'test-unit' будет запускать только тесты, содержащиеся в папке src / test / scala / unit , а действие 'test-функциональный' будет выполняться толькотесты по src / test / scala / функциональные .Как бы мы написали действия для этого?

1 Ответ

5 голосов
/ 03 июня 2011

Если вы используете xsbt 0.10.0, вы можете легко создать дополнительные тестовые конфигурации , определив полную конфигурацию сборки в файле Scala, расположенном в папке project. Ниже приведен пример вики для интеграционных тестов. Макет каталога по умолчанию немного отличается от вашего, юнит-тесты идут в 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"
}
...