播放框架代码覆盖范围

时间:2018-03-13 18:48:01

标签: playframework jacoco

使用Play Framework时有没有办法获得测试覆盖率?

我使用的是Play Framework 2.6.12,它是一个Java项目。我需要提取有关覆盖率的报告,以便与Sonarqube一起使用。

Cobertura Test coverage显然已经死了。我得到了JaCoCo SBT手动工作,但我需要将报告类型更改为XML,而我无法用现有文档(或缺少文档)来解决这个问题。显然,JaCoCo SBT Repository也是无效的。

问题:有谁可以告诉我如何/在哪里可以更改settings以制作XML报告或推荐其他工具来获取Play框架的测试覆盖率?

示例
当我这样做是build.sbt,我得到一个错误。

lazy val root = (project in file(".")).enablePlugins(PlayJava, JacocoItPlugin)

Error: Cannot add dependency 'org.jacoco#org.jacoco.agent;0.7.9' to configuration 'it' of module XXX because this configuration doesn't exist!

配置示例

这就是我可能将报告类型更改为XML的方式,但我不知道在哪里放置这行代码。 (注意JacocoReportFormats.XML):

JacocoReportSettings(
  "Jacoco Coverage Report",
  None,
  JacocoThresholds(),
  Seq(JacocoReportFormats.XML),
  "utf-8")

1 个答案:

答案 0 :(得分:0)

我认为这是做到这一点的方法:

lazy val jacoco = Seq(jacocoReportSettings in Test := 
JacocoReportSettings()
  .withTitle("MyProject")
  .withFormats(JacocoReportFormats.XML)
)
lazy val root = Projectid = "MyProject", base = file(".")).enablePlugins(PlayJava)

希望它有所帮助。