使用 gradle 为单个单元测试生成 Jacoco 代码覆盖率报告

Generate Jacoco code coverage report for individual unit tests using gradle

Gradle 'Jacoco' 插件的 'jacocoTestReport' 为所有单元测试生成代码覆盖率报告。

我应该如何继续创建 gradle 任务以单独生成每个单元测试的 'Jacoco' 代码覆盖率报告?

HelloWorld.java

HelloWorldTest.java 包含 Test1、Test2、Test3 方法

我想为 Test1、Test2、Test3 方法生成单独的 Jacoco 代码覆盖率报告。

在测试的 运行 期间,Jacoco 检测 类 并记录调用的内容。 JacocoReport 类型的任务然后只获取这些结果并从中生成 XML、HTML 或 CSV 报告。

所以为了得到你想要的,你需要添加几个 Test 执行单个测试的任务,然后添加几个 JacocoReport 指向不同结果文件的任务,然后你可以生成这些报告合而为一 运行.

如果您只想手动执行此操作,我认为您可以像 gradlew test --tests HelloWorld.Test1 jacocoTestReport 一样调用 Gradle。

在后一种情况下,可能还需要设置 test { jacoco { append false } } 以在报告中不包含前 运行 的结果。