gradle - gradle jacoco 与 integrationTest 和排除
问题描述
我正在使用gradle jacoco 插件来获取测试和集成测试的覆盖率报告。集成测试的来源是使用test-sets 插件定义的。为了让报告中涵盖测试和集成测试,我从这篇文章中推断出我应该调用 executionData 并包含 *.exec 文件。现在,我试图弄清楚如何从 jacoco 报告(和分析)中排除单个类。使用 Gradle 过滤 JaCoCo 覆盖率报告指向使用 afterEvaluate 并更改 classDirectories,但是当我使用它时会生成一个空报告。
plugins {
id 'org.unbroken-dome.test-sets' version '1.5.0'
}
apply plugin: 'java'
apply plugin: 'jacoco'
sourceSets {
main {
java {
srcDirs = ['jsrc']
}
}
}
testSets {
integrationTest {
dirName = 'integration-test'
}
}
jacocoTestReport {
executionData fileTree(project.rootDir.absolutePath).include("**/build/jacoco/*.exec")
// commented because causes the report to be empty
//afterEvaluate {
// classDirectories = files(classDirectories.files.collect {
// fileTree(dir: it, exclude: ['**/TheOneClassToExclude.*'])
// })
//}
}
万一这很重要,我将 gradle 4.4 与 JDK7 一起使用。
解决方案
推荐阅读
- java - 在 JUnit 中模拟方法时传递对象
- javascript - 使用数组元素和数组字符串查找重复元素计数
- android - 已添加 IllegalStateException 片段
- python - Matplotlib:如何为每个散点添加图例?
- reactjs - 反应useState不更新状态
- css - 将 pug 用于独立(微型)小部件
- php - 两个日期时间之间的分钟差
- ffmpeg - 用ffmpeg修剪视频很慢
- pandas - Pandas pivot_table/groupby 在非常大的数据帧上花费太长时间
- azure-devops - PR 上的条件阶段执行甚至提高了 Azure devops