Playframework SBT:覆盖默认测试任务

Playframework SBT:覆盖默认测试任务,playframework,sbt,scoverage,Playframework,Sbt,Scoverage,在我们的play项目中,我们使用以下命令运行scoverage coverageReport: sbt clean coverage test coverageReport 我希望将报表作为测试目标本身的一部分运行,而不是显式的coverageReport目标,比如 sbt test 也应该自动运行coverageReport 我是sbt/play的新手,所以我正在尝试 test = test ++ ScoverageKeys.coverageReport 及 几乎没有其他选择,但没有任何

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

sbt clean coverage test coverageReport
我希望将报表作为测试目标本身的一部分运行,而不是显式的coverageReport目标,比如

sbt test
也应该自动运行coverageReport

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

test = test ++ ScoverageKeys.coverageReport

几乎没有其他选择,但没有任何效果

有人能告诉我如何覆盖默认的测试配置,以便在运行测试的同时也运行覆盖率和覆盖率端口吗

如果测试目标在开始测试前触发覆盖,在完成测试后触发覆盖报告,那就太好了

我还尝试在MicroService.scala和plugins.sbt中添加一个命令别名,如下所示,但它甚至不起作用

addCommandAlias("test", "coverage test coverageReport")
任何关于如何使其工作的想法都将不胜感激

谢谢


Suresh

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

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

我用下面的代码片段解决了这个问题

  .settings(
    test in Test := Def.sequential(
      test in Test,
      ScoverageKeys.coverageReport.toTask
    ).value
  )
我要检查一下,因为标准的SBT组合(就像你前两次尝试的那样)不能保证执行顺序。我不确定这是否会让你更进一步。我会检查一下,因为标准的SBT组合(就像你前两次尝试一样)不能保证执行顺序。但我不确定这是否会让你走得更远。