我使用夏克索计算代码覆盖率,并希望在Azure DevOps测试报告中发布Jacoco测试覆盖率结果。
以下是我的任务:
- script: "sbt jacoco"
displayName: Run Jacoco
- task: PublishCodeCoverageResults@1
displayName: Publish code coverage report
inputs:
codeCoverageTool: 'JaCoCo'
summaryFileLocation: $(System.DefaultWorkingDirectory)/target/scala-2.13/jacoco/report/html/index.html
reportDirectory: $(System.DefaultWorkingDirectory)/target/scala-2.13/jacoco/report成功地执行了这些任务,并将结果作为管道上的工件共享。但是,它也会抛出一个警告,即
找到##warningNo覆盖数据。有关详细信息,请检查生成错误/警告。
我希望在一个图表中看到结果,该图表附在管道上。你能帮我解决这个问题吗?
发布于 2022-03-10 13:54:21
我找到了解决办法。我需要按照以下方式调整配置设置。
lazy val jacoco = jacocoReportSettings in Test := JacocoReportSettings(
"Jacoco Coverage Report",
None,
JacocoThresholds(instruction = 10, method = 10, branch = 10, complexity = 10, line = 10, clazz = 10),
Seq(JacocoReportFormats.ScalaHTML, JacocoReportFormats.XML),
"utf-8"
)
override def projectSettings: Seq[Setting[_]] = super.projectSettings ++ jacocoSettings在Azure管道中,它将是;
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: 'JaCoCo'
summaryFileLocation: $(jacocoReportDir)/report/jacoco.xml
reportDirectory: $(jacocoReportDir)/report/html发布于 2022-03-10 13:43:35
您的'summaryFileLocation‘属性似乎指向报告的'html’版本,而它应该指向它的'xml‘版本。
https://stackoverflow.com/questions/71352252
复制相似问题