SBT:覆盖默认测试任务

时间:2017-06-23 11:09:19

标签: playframework sbt scoverage

在我们的游戏项目中,我们使用以下命令运行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
  }

以及其他几个选项,但没有任何效果。

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

如果测试目标在开始测试之前触发覆盖并且在完成测试后触发 coverageReport ,那将是很好的,

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

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

非常感谢任何有关如何使其发挥作用的想法。

由于

苏雷什

1 个答案:

答案 0 :(得分:2)

我能够使用以下代码段解决此问题

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