首页 > 解决方案 > 覆盖 sbt 任务中的测试选项

问题描述

我正在尝试定义两个 sbt 测试任务,但我希望它们使用不同的 testOptions。

我的第一个任务如下所示:

TaskKey[Unit]("testServices") := {
  (testOnly in Test).toTask({
  ... //some logic here
  }).value
}

Test 中的 testOptions 设置为:

testOptions in Test += Tests.Argument(
  TestFrameworks.ScalaTest,
  "-u", "target/results/junit",
  "-h", "target/results/html",
  "-M", "target/results/failures.log",
  "-C", "com.lorem.ipsum.reporter.MyReporter"
)

现在我想定义新任务(让我们称之为testServicesSimplified),它应该是前一个任务的精确副本,但应该使用以下 testOptions:

testOptions in Test += Tests.Argument(
  TestFrameworks.ScalaTest,
  "-C", "com.lorem.ipsum.reporter.SimplifiedReporter",
)

有没有办法testOptions只为那一项新任务覆盖?或者也许还有其他方法可以让两个不同的记者进行相同的测试?

标签: sbt

解决方案


推荐阅读