【问题标题】:Generate Jacoco code coverage report for individual unit tests using gradle使用 gradle 为单个单元测试生成 Jacoco 代码覆盖率报告
【发布时间】:2017-10-13 08:46:48
【问题描述】:
Gradle 'Jacoco' 插件的 'jacocoTestReport' 为所有单元测试生成代码覆盖率报告。
我应该如何继续创建一个 gradle 任务来分别生成每个单元测试的“Jacoco”代码覆盖率报告?
HelloWorld.java
HelloWorldTest.java 包含 Test1、Test2、Test3 方法
我想为 Test1、Test2、Test3 方法生成单独的 Jacoco 代码覆盖率报告。
【问题讨论】:
标签:
java
unit-testing
gradle
junit
jacoco
【解决方案1】:
在运行测试期间,Jacoco 检测类并记录调用的内容。 JacocoReport 类型的任务然后只获取这些结果并从中生成 XML、HTML 或 CSV 报告。
所以要得到你想要的,你需要添加几个执行单个测试的Test任务,然后添加几个指向不同结果文件的JacocoReport任务,然后你可以在一次运行中生成这些报告。
如果您只想手动执行此操作,我认为您可以像 gradlew test --tests HelloWorld.Test1 jacocoTestReport 这样调用 Gradle。
在后一种情况下,可能还需要设置 test { jacoco { append false } } 以使报告中不包含前一次运行的结果。