SBT:覆盖默认测试任务

SBT : Overriding default test task

在我们的 play 项目中,我们正在 运行ning scoverage coverageReport 使用以下命令:

sbt clean coverage test coverageReport

而不是明确的 coverageReport 目标,我想 运行 报告作为测试目标本身的一部分,类似于

sbt test

也应该自动运行 coverageReport

我是sbt/play的新手所以我正在尝试

test = test ++ ScoverageKeys.coverageReport

  test in Test := {
    (test in Test).value
    ScoverageKeys.coverageReport.value
  }

还有一些其他选项,但没有任何效果。

有人可以告诉我如何覆盖默认测试配置,以便它 运行 除了 运行ning 测试之外还有覆盖率和 coverageReport 吗?

如果 test 目标在开始测试前触发 coverage 并在测试后触发 coverageReport 就好了完成测试,

我也试过在 MicroService.scala 和 plugins.sbt 中添加命令别名,如下所示,但它甚至没有用。

addCommandAlias("test", "coverage test coverageReport")

任何关于如何让它发挥作用的想法都将不胜感激。

谢谢

苏雷什

我能够使用下面的代码片段解决这个问题

  .settings(
    test in Test := Def.sequential(
      test in Test,
      ScoverageKeys.coverageReport.toTask
    ).value
  )