我从jacoco生成了一个代码覆盖率报告,它是 jacoco.exec 。但我不知道如何使用它......
我生成它的方式是通过命令行:
java -javaagent:/path/to/jacocoagent.jar=include=some.package.*,output=file org.junit.runner.JUnitCore some.package.ClassTest
然后我收到了jacoco.exec报告。我只需要百分比,我只使用命令行。有没有办法将此报告转换为可读的txt文件?
全部谢谢
答案 0 :(得分:52)
在IntelliJ Idea中,从菜单中选择Analyze>显示覆盖率数据。在新窗口中按+按钮并选择.exec文件。 测试覆盖率结果将显示在编辑器Coverage选项卡中。
答案 1 :(得分:19)
对于Eclipse用户,您只需在Eclipse中使用EclEmma jacoco插件即可。窗口>显示视图>覆盖范围(当然您必须先安装插件)。在Coverage窗口中,右键单击>导入> .....选择exec文件(或其他不错的方法),选择你的源代码,然后看看。您也可以将结果导出到html文件。
答案 2 :(得分:13)
每this thread您无法直接使用生成的jacoco.exec生成报告。您可以下载Jacoco的样本build.xml并使用它来生成报告。您需要对build.xml进行这些更改:将路径设置为
我还将默认目标更改为“报告”。然后输入“ant”运行它,您的报告就会生成。
答案 3 :(得分:4)
我认为该报告已经生成。在文件夹target/site/jacoco
中查找。
这提供了target/site/jacoco/jacoco.csv
,这是一些原始文本,您可以相对容易地解释它们-也许可以导入到电子表格中
大多数人都想要target/site/jacoco/index.html
,它是网页形式的报告。
如果您没有看到这些报告,请尝试显式请求它们,并查看是否提供了任何线索...
mvn clean test jacoco:report
答案 4 :(得分:3)
Jacoco提供了一个命令行库来处理jacoco.exec
数据:Jacoco cli doc
安装Jacoco之后,可以使用以下命令生成报告:
java -jar lib/jacococli.jar report jacoco.exec \
--html ./report \
--sourcefiles [path/to/your/source/files] \
--classfiles [path/to/your/class/files]
答案 5 :(得分:1)
我们可以使用maven-sonar-plugin的目标,声纳:声纳
将jacoco exec报告(作为maven构建的一部分创建)推送到声纳(qube)服务器mvn clean install声纳:sonar -Dsonar.host.url = http://:9000 -Dsonar.projectKey = -Dsonar.branch = -Dsonar.login = -Dsonar.password =
sonar.projectKey和sonar.branch属性值可以从sonarqube中创建的相应项目中检索。
答案 6 :(得分:1)
此答案类似于@EvansY。可以在Jacoco documentation的以下命令的帮助下生成HTML文件(在报告目录中的此处)和XML文件(名为cov)。
java -jar lib/jacococli.jar report jacoco.exec \
--classfiles C:\Users\severalOtherDirectories\YourProject\target\classes \
--html ./report --xml cov.xml
HTML报告:此报告将能够显示在类或方法级别上覆盖/未覆盖的行总数,但是将无法显示覆盖了哪些实际行/在同一位置发现。
XML文件:将生成的文件插入到项目中之后,只需使用VS代码覆盖率扩展(我更喜欢coverage gutters),就可以在编辑器中逐行显示状态本身。
答案 7 :(得分:0)
要在IntelliJ Idea中查看此内容,请从菜单栏中选择运行>显示代码覆盖率数据。在新窗口(选择要显示的Coverage Suite )中,按+按钮,然后选择您的.exec文件。测试覆盖率结果将显示在编辑器的“覆盖率”选项卡中。
要为上述.exec文件生成覆盖率报告文件,请选择运行>生成覆盖率报告。然后选择您的输出目录,然后单击保存。您的报告将生成到所选文件夹。打开文件夹中的index.html文件,以在浏览器中查看结果。 我正在使用IntelliJ IDEA 2019.3.4(社区版)
答案 8 :(得分:0)
无论出于何种原因,我无法按照人们的建议让 EclEmma 和 Jacoco 与 Eclipse 一起工作,因此我偶然发现了以下解决方法。
答案 9 :(得分:-4)
终端:mvn install jacoco:使用jacoco插件报告maven项目