kotlin - Jacoco Kotlin 数据类过滤 getter 和 setter?
问题描述
所以在更新到 Jacoco 0.8.2 之后,我的数据类代码覆盖率大大提高了,因为它现在过滤掉了大部分生成的函数,“equals”,“hashcode”等......但是,它仍在寻找所有的测试Kotlin 生成的 getter 和 setter。
我是否缺少其他设置来过滤掉这些设置?我知道我可以过滤掉整个类或目录,但理想情况下有一种方法可以过滤掉这些函数。以下是我当前对 Jacoco 的 gradle 任务。
project.jacoco {
toolVersion = '0.8.2'
}
project.tasks.create(
name: 'jacocoTestReport',
type: JacocoReport,
dependsOn: "test${capVariant}UnitTest"
) {
def buildDir = project.buildDir
def coverageSourceDirs = [
"src/main/java",
"src/main/kotlin"
]
def fileFilter = [
'**/R.class',
'**/R$*.class',
'**/*$ViewInjector*.*',
'**/*_Factory.*',
'**/*_MembersInjector.*',
'**/*$ViewBinder*.*',
'**/BuildConfig.*',
'**/Manifest*.*',
'**/di/**',
'**/*Activity*.*',
'**/*Fragment*.*',
'**/*Adapter*.*',
'**/*ViewHolder*.*',
'**/reusableComponents/**',
'**/App.*'
]
def javaClasses = fileTree(
dir: "$buildDir/intermediates/classes/$folder",
excludes: fileFilter
)
def kotlinClasses = fileTree(
dir: "$buildDir/tmp/kotlin-classes/$variant",
excludes: fileFilter
)
KotlinGeneratedFilter = true
group = "Reporting"
description = "Generate Jacoco coverage reports for the ${project.name} with the " +
"$variant variant."
classDirectories = files([ javaClasses ], [ kotlinClasses ])
additionalSourceDirs = files(coverageSourceDirs)
sourceDirectories = files(coverageSourceDirs)
executionData = files("${project.buildDir}/jacoco/test${capVariant}UnitTest.exec")
reports {
xml.enabled = true
html.enabled = true
}
}
解决方案
推荐阅读
- c++ - 递归编译单独的 .cpp 文件 Makefile
- delphi - 如何使用 MSBuild 和包含在存储库中的编译器构建 delphi 应用程序(未随 IDE 安装)
- flutter - Flutter 未来的小部件没有更新屏幕吗?我需要在更新数据时更新数据
- c++ - 天蓝色管道窗口中的新构建问题
- java - RabbitMQ - 为什么消费者从队列中消失
- r - FactomineR 中的 HCPC:如何计算集群中的个体?
- php - Laravel 工匠制作:资源文件夹外的组件
- jq - JQ 包含输出
- android-viewpager - android中的自动viewPager
- azure-analysis-services - 如何将数据从 SSAS(本地)复制到 Azure 分析服务