运行 来自 build.sbt 的单个测试套件
Run a single test suite from build.sbt
我有一个多模块项目,目前 运行 在打包期间通过读取 -
的任务进行测试
val testALL = taskKey[Unit]("Test ALL Modules")
testALL := {
(test in Test in module_A).value
(test in Test in module_B).value
(test in Test in module_C).value
}
现在,我已将每个模块中的所有测试合并到一个顶级 ScalaTest 套件中。所以对于每个模块只希望 运行 这个单一的顶级套件(命名为 "blah.moduleA.TestSuite" 等等)。一直在尝试在我的 build.sbt 到 运行 中使用 testOnly 和 testFilter,只是每个模块中的这个单一套件,但无法获得正确的语法。有人可以告诉我该怎么做吗?
testOnly
是一个 InputKey[Unit]
。您想将其转换为 Task[Unit]
以便能够 运行 直接针对给定的测试套件。
你可以这样实现:
lazy val foo = taskKey[Unit]("...")
foo := (testOnly in Test).fullInput("hello").value
在 sbt 的文档中:Preapplying input in sbt
我有一个多模块项目,目前 运行 在打包期间通过读取 -
的任务进行测试val testALL = taskKey[Unit]("Test ALL Modules")
testALL := {
(test in Test in module_A).value
(test in Test in module_B).value
(test in Test in module_C).value
}
现在,我已将每个模块中的所有测试合并到一个顶级 ScalaTest 套件中。所以对于每个模块只希望 运行 这个单一的顶级套件(命名为 "blah.moduleA.TestSuite" 等等)。一直在尝试在我的 build.sbt 到 运行 中使用 testOnly 和 testFilter,只是每个模块中的这个单一套件,但无法获得正确的语法。有人可以告诉我该怎么做吗?
testOnly
是一个 InputKey[Unit]
。您想将其转换为 Task[Unit]
以便能够 运行 直接针对给定的测试套件。
你可以这样实现:
lazy val foo = taskKey[Unit]("...")
foo := (testOnly in Test).fullInput("hello").value
在 sbt 的文档中:Preapplying input in sbt