SBT - 覆盖 testOnly

SBT - Override testOnly

对于 sbt 中的 testOnly 我想使用特定的 testOptions(所以任务 test 有不同的 testOptions)并且我还想设置一个环境变量。 .

有例子吗?

我已经通过引入新范围修复了它 Diagnose:


lazy val Diagnose = config("diagnose") extend Test
lazy val diagnoseSettings = inConfig(Build.Diagnose)(Defaults.testTasks ++ Seq(testOptions += Tests.Argument(TestFrameworks.ScalaTest, "-oD"), envVars := Map("TEST_LOG_LEVEL" -> "debug")))

然后我结合这些设置在一个项目中使用它


val p = (project in file("project")).configs(Build.Diagnose).settings(Build.diagnoseSettings).settings(testOptions in Test += Tests.Argument(TestFrameworks.ScalaTest, "-W", "5", "2"), testOptions in Test += Tests.Argument(TestFrameworks.ScalaTest, "-oNCXEHLOPQRM"))

现在,当我 运行 sbt test 时,它只会显示失败的测试。当您想查看失败的原因时,可以使用 sbt diagnose:testOnly test-class