如何为JAR文件生成JaCoCo报告?

Pet*_*ker 5 java code-coverage jacoco jacoco-maven-plugin

我们正在尝试使用JaCoCo报告针对预打包JAR文件的测试代码覆盖率。为此,我们使用java -jar附加参数启动JAR文件:

-javaagent:${project.basedir}/tools/jacocoagent.jar=output=tcpserver,port=${jacoco.port}
Run Code Online (Sandbox Code Playgroud)

JaCoCo的Maven插件配置为转储执行文件并报告结果:

-javaagent:${project.basedir}/tools/jacocoagent.jar=output=tcpserver,port=${jacoco.port}
Run Code Online (Sandbox Code Playgroud)

这样做的目的jacoco.exec是生成一个非零大小(〜350kB)的文件。

但是该报告没有显示任何内容。通过“会话”链接,我可以看到列出的JAR中的类,但是报告的主页显示了这一点: JaCoCo报告

根据日志,我们似乎正在执行代码。JaCoCo设置中缺少步骤还是应该起作用?

小智 0

以下是实现此目标的步骤:

  1. 在单独的 JVM 中运行 java 应用程序并-javaagent传递参数。

  2. 针对应用程序运行测试(例如调用 Web 服务器上的端点等)

  3. 运行dumpreport目标以生成报告。

您可以查看我关于该主题的文章。