Gradle jacoco 多项目。如何在终端输出所有项目的代码覆盖率?

Dim*_*iwa 1 java junit gradle jacoco gitlab

我正在使用Gradle jacoco插件并JUnit在 gradle 多项目中进行测试。

我已经安装了 jacoco,以便向声纳报告我的代码覆盖率,我做到了。

Gitlab-CI 还为代码覆盖率提供了一个徽章,我只需要在终端中输出代码覆盖率并使用正则表达式来查找它。

有没有办法在终端输出所有项目的代码覆盖率?

lu_*_*_ko 5

是的你可以。可能的方法:

1)使用 Gradle 插件gradle-console-reporter控制台报告各种摘要。支持 JUnit、JaCoCo 和 Cobertura 报告。

在您的情况下,以下输出将打印到控制台:

 ...
 BUILD SUCCESSFUL

 Total time: 4.912 secs

 Coverage summary:
 project1:                72.2%
 project2-with-long-name: 44.4%
Run Code Online (Sandbox Code Playgroud)

然后你可以使用覆盖在Gitlab的正则表达式.gitlab-ci.yml来解析代码覆盖。

2)第二个选项有点棘手。您可以打印完整的 JaCoCo HTML 报告(例如使用cat target/site/jacoco/index.html),然后使用正则表达式(参见这篇文章)或grep(参见这篇文章)来解析覆盖率。