0

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

很少有其他选择,但没有任何效果。

有人可以让我知道如何覆盖默认测试配置,以便它除了运行测试之外也运行覆盖率和覆盖率报告?

如果测试目标在开始测试之前触发覆盖率并在完成测试后触发coverageReport,那就太好了,

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

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

任何关于如何使其工作的想法将不胜感激。

谢谢

苏雷什

4

1 回答 1

3

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

  .settings(
    test in Test := Def.sequential(
      test in Test,
      ScoverageKeys.coverageReport.toTask
    ).value
  )
于 2017-06-26T14:22:44.597 回答