how to use jacoco.exec report
我从jacoco(即jacoco.exec)生成了代码覆盖率报告。 但是我不知道如何使用...
我生成它的方式是通过命令行:
1 | java -javaagent:/path/to/jacocoagent.jar=include=some.package.*,output=file org.junit.runner.JUnitCore some.package.ClassTest |
然后我得到了jacoco.exec报告。 我所需要的只是百分比的数量,而我仅使用命令行。 有没有办法将此报告转换为可读的txt文件?
谢谢大家
在IntelliJ Idea中,从菜单中选择
测试覆盖率结果将显示在编辑器的"覆盖率"选项卡中。
更新:
在最新版本的Intellij Idea中,菜单已移至
对于Eclipse用户,您只需在Eclipse中使用EclEmma jacoco插件即可。窗口>显示视图>覆盖范围(当然,您必须先安装插件)。在"覆盖率"窗口中,右键单击>导入> .....选择exec文件(或其他不错的方法),选择源代码,然后查看。您还可以将结果导出到html文件。
根据该线程,您不能直接使用生成的jacoco.exec来生成报告。您可以下载Jacoco的样本build.xml并使用它生成报告。您需要对build.xml进行以下更改:将路径设置为
- 您下载的jacocoant.jar
- 您的jacoco.exec
- 您的项目源代码
- 您编译的项目类文件
我还将默认目标更改为"报告"。然后通过键入" ant"运行它,将生成您的报告。
我认为该报告已经生成。查看文件夹
这提供了
大多数人都想要
如果您没有看到这些报告,请尝试显式请求它们,并查看是否提供了任何线索...
1 | mvn clean test jacoco:report |
Jacoco提供了一个命令行库来处理
安装Jacoco之后,可以使用以下命令生成报告:
1 2 3 4 | java -jar lib/jacococli.jar report jacoco.exec \\ --html ./report \\ --sourcefiles [path/to/your/source/files] \\ --classfiles [path/to/your/class/files] |
这个答案将类似于@EvansY。在Jacoco文档的以下命令的帮助下,可以生成HTML文件(在报告目录中的此处)和XML文件(名为cov)。
1 2 3 | java -jar lib/jacococli.jar report jacoco.exec \\ --classfiles C:\\Users\\severalOtherDirectories\\YourProject\\target\\classes \\ --html ./report --xml cov.xml |
HTML报告:此报告将能够显示在类或方法级别覆盖/未覆盖的行的总数,但是将无法显示在同一或覆盖范围内实际覆盖/未覆盖的实际行。
XML文件:将生成的文件插入到项目中之后,只需使用VS代码覆盖率扩展(我更喜欢覆盖率范围),就可以在编辑器本身中逐行显示状态。
我们可以使用maven-sonar-plugin的目标sonar:sonar将jacoco exec报告(作为maven构建的一部分创建)推送到声纳(qube)服务器
mvn全新安装声纳:sonar -Dsonar.host.url = http://:9000 -Dsonar.projectKey = -Dsonar.branch = -Dsonar.login = -Dsonar.password =
可以从在sonarqube中创建的相应项目中检索sonar.projectKey和sonar.branch属性值。
要在IntelliJ Idea中查看此内容,请从菜单栏中选择"运行">"显示代码覆盖率数据"。在新窗口(选择要显示的Coverage Suite)中,按+按钮,然后选择您的.exec文件。测试覆盖率结果将显示在编辑器的"覆盖率"选项卡中。
要为上述.exec文件生成覆盖率报告文件,请选择运行>生成覆盖率报告。然后选择您的输出目录,然后单击保存。您的报告将生成到所选文件夹。打开文件夹中的index.html文件,以在浏览器中查看结果。
我正在使用IntelliJ IDEA 2019.3.4(社区版)
如果您使用Maven,请使用报告汇总目标。
请参阅下面的链接:
报告总体Maven目标
这是我的maven pom.xml文件的摘录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <plugin> <groupId>org.jacoco</groupId> jacoco-maven-plugin</artifactId> <version>0.8.2</version> <executions> <execution> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>report-aggregate</id> <phase>prepare-package</phase> <goals> <goal>report</goal> </goals> </execution> </executions |
csv报告文件在以下位置生成:site / jacoco / jacoco.csv
终端:mvn用jacoco插件为maven项目安装jacoco:report