我们有一个包含子模块的Maven项目。有一个父pom.xml 并且每个子项目都被制作成war文件。每个子模块都有单元测试用例和Jacoco生成的报告。
现有报告显示了单个模块的单元测试覆盖率,但我们需要在Tomcat上提供集成测试范围的代码覆盖。我们所做的是我们在Tomcat文件夹中安装了jacoco代理并将其配置为生成jacoco.exec。当我使用EclEmma插件导入jacoco.exec时,我们会看到代码覆盖率。
有没有办法从没有源代码的独立jacoco.exec生成报告?
答案 0 :(得分:4)
从以下URL下载Jacoco代理Zip文件: https://www.jacoco.org/jacoco/选择适合您需求的版本。
使用合适的名称创建文件夹,我的文件夹位于“ C:\ jacoco”。在那里提取Zip文件的内容。
打开CMD并转到C:\ jacoco
使用以下命令:
java -jar jacococli.jar报告--classfiles路径/ of / the / class / files路径/of/the/.exec文件--html html / report / location --name nameOfTheReport
注意:
1. -jar:我将jacococli.jar保留在Jacoco中。
2. --classfiles:已编译的Java文件的路径。
3. exec文件的路径。
4. --name:HTML报告标题(标题)的名称
答案 1 :(得分:0)
Jacoco .exec文件使用非常优化的文件格式,其中包含已执行检查点且尚未执行检查点的紧凑位集,但不包含有关行号的信息。
因此,要生成任何报告,需要将.exec文件应用于类文件,其中包含行号作为调试信息。
类文件足以生成xml报告,同时还需要源生成html报告(为了生成带有彩色线条的html页面)。
生成报告的大多数Jacoco工具允许您指定在哪里查找正确生成报告的类和源,因此如果您可以将这些exec文件下载到也有类和源的开发机器,您将能够生成报告。