specs2:使用 sbt 标记 specification/individual 测试并将其从 运行 中排除
specs2: Tag specification/individual test and exclude it from running using sbt
在 运行我的测试套件中,我需要跳过规范和个别测试。
这是一个这样的测试示例:
package models
import org.specs2.mutable._
import org.specs2.runner._
class SlowTaggedSpecification extends Specification{
"SLOW_SPEC" should {
"BAD!! Not Skipped" in {
"axbcd" must find( "bc".r )
}
} section( "SLOW_SPEC" )
}
class SlowFastTaggedSpecification extends Specification{
"SLOW_FAST_SPEC" should {
"run fast test" in {
"axbcd" must find( "bc".r )
} section( "FAST_TEST" )
"SLOW_TEST should be skipped (BAD!! NOT Skipped)" in {
"axbcd" must find( "bc".r )
} section( "SLOW_TEST" )
} section( "SLOW_FAST_SPEC" )
}
我需要跳过 SLOW_SPEC
(整个规范)和 SLOW_TEST
(仅个别测试)。
我的 build.sbt 是:
scalaVersion := "2.11.1"
libraryDependencies += "org.specs2" %% "specs2" % "2.3.12" % "test"
当我运行以下命令行时:
sbt '~testOnly models.* -- -l SLOW_SPEC'
sbt '~testOnly models.* -- -l SLOW_TEST'
none 的测试被跳过。我可以知道如何使用标签排除规范和单独测试吗?另外,如果我不使用 testOnly
而是 test
,sbt 语法会是什么?
sbt '~test -- -l SLOW_SPEC'
导致 sbt 抱怨。我的 sbt 版本是 0.13.5
如有指点,将不胜感激。
排除标签的命令行参数是
sbt> ~testOnly models.* -- exclude SLOW_SPEC
如果您想在使用 test
命令时排除标签,您需要在 build.sbt
文件中使用 Test.Arguments
:
testOptions in Test += Tests.Argument(TestFrameworks.Specs2, "exclude", "SLOW_SPEC")
如果你想专门运行一个SLOW_SPEC测试,那么使用下面的:
sbt 'set testOptions in Test := Seq()' '~testOnly models.SlowTaggedSpecification'
在 运行我的测试套件中,我需要跳过规范和个别测试。 这是一个这样的测试示例:
package models
import org.specs2.mutable._
import org.specs2.runner._
class SlowTaggedSpecification extends Specification{
"SLOW_SPEC" should {
"BAD!! Not Skipped" in {
"axbcd" must find( "bc".r )
}
} section( "SLOW_SPEC" )
}
class SlowFastTaggedSpecification extends Specification{
"SLOW_FAST_SPEC" should {
"run fast test" in {
"axbcd" must find( "bc".r )
} section( "FAST_TEST" )
"SLOW_TEST should be skipped (BAD!! NOT Skipped)" in {
"axbcd" must find( "bc".r )
} section( "SLOW_TEST" )
} section( "SLOW_FAST_SPEC" )
}
我需要跳过 SLOW_SPEC
(整个规范)和 SLOW_TEST
(仅个别测试)。
我的 build.sbt 是:
scalaVersion := "2.11.1"
libraryDependencies += "org.specs2" %% "specs2" % "2.3.12" % "test"
当我运行以下命令行时:
sbt '~testOnly models.* -- -l SLOW_SPEC'
sbt '~testOnly models.* -- -l SLOW_TEST'
none 的测试被跳过。我可以知道如何使用标签排除规范和单独测试吗?另外,如果我不使用 testOnly
而是 test
,sbt 语法会是什么?
sbt '~test -- -l SLOW_SPEC'
导致 sbt 抱怨。我的 sbt 版本是 0.13.5
如有指点,将不胜感激。
排除标签的命令行参数是
sbt> ~testOnly models.* -- exclude SLOW_SPEC
如果您想在使用 test
命令时排除标签,您需要在 build.sbt
文件中使用 Test.Arguments
:
testOptions in Test += Tests.Argument(TestFrameworks.Specs2, "exclude", "SLOW_SPEC")
如果你想专门运行一个SLOW_SPEC测试,那么使用下面的:
sbt 'set testOptions in Test := Seq()' '~testOnly models.SlowTaggedSpecification'