如何从 jacoco.exec 中提取可读格式的报告?

avy*_*avy 5 jacoco

我有一个 Maven 项目(Java)的 jacoco-agent 生成的文件,名为jacoco.exec. 如何将此文件转换为人类可读的格式?(HTML/XML)。

God*_*din 7

我相信官方 JaCoCo 文档中对此进行了描述。尤其是,存在jacoco - Maven的插件目标“报告”例如其使用的

从 JaCoCo 0.8.0 版开始,还有命令行界面。以下是如何使用它从 生成 HTML 报告的示例jacoco.exec,请注意,这也需要类文件:

java -jar jacoco-0.8.1/lib/jacococli.jar report jacoco.exec --classfiles directory_with_classes --html directory_for_report
Run Code Online (Sandbox Code Playgroud)

  • 抱歉,我没有意识到您可以使用 `dataFile` 来更改执行数据源,将插件变成“转换器”。这仍然不能解决一些用例(比如我的:我通过将 Jacoco 代理添加到我的生产 JVM 中生成了 jacoco.exec 所以我不能使用 Maven 插件,我正在寻找一个通用的替代方法来“在 IDE 中导入和从那里导出为 HTML”),OP 没有明确提到他们是如何获得他们的 .exec 文件的。 (2认同)

Pra*_*nav 5

在 Gradle 世界中(对于任何偶然发现这个问题的人),请使用此处JacocoReport记录的任务。

配置的任务看起来像这样:

jacocoTestReport {
  reports {
    html.enabled = true
    html.destination "${buildDirectory}/coverage/report/html"

    xml.enabled = true
    xml.destination "${buildDirectory}/coverage/report/xml"
  }
  executionData = files("path/to/jacoco.exec")
}
Run Code Online (Sandbox Code Playgroud)