使用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")
答案 0 :(得分:0)
我认为这是做到这一点的方法:
lazy val jacoco = Seq(jacocoReportSettings in Test :=
JacocoReportSettings()
.withTitle("MyProject")
.withFormats(JacocoReportFormats.XML)
)
lazy val root = Projectid = "MyProject", base = file(".")).enablePlugins(PlayJava)
希望它有所帮助。