您必须在 build.gradle 的开头添加 jacoco 插件
apply plugin: 'jacoco'
然后使用testCoverageEnabled true 即启用覆盖
buildTypes {
release {
...
}
debug {
testCoverageEnabled true
}
}
并创建任务jacocoTestReport:
task jacocoTestReport(type:JacocoReport, dependsOn: "connectedDebugAndroidTest") {
group = "Reporting"
description = "Generate Jacoco coverage reports"
// exclude auto-generated classes and tests
def fileFilter = ['**/R.class',
'**/R$*.class',
'**/BuildConfig.*',
'**/Manifest*.*',
'**/*IScript*.*',
'android/**/*.*',
'**/*_Factory*',
'**/*_MembersInjector*',
'**/*Fake*']
def debugTree = fileTree(dir:
"${project.buildDir}/intermediates/classes/debug",
excludes: fileFilter)
def mainSrc = "${project.projectDir}/src/main/java"
sourceDirectories = files([mainSrc])
classDirectories = files([debugTree])
executionData = fileTree(dir: project.projectDir, includes:
['**/*.exec', '**/*.ec'])
reports {
xml.enabled = true
xml.destination = "${buildDir}/jacocoTestReport.xml"
csv.enabled = false
html.enabled = true
html.destination = "${buildDir}/reports/jacoco"
}
}
将您的排除项添加到 fileFilter 数组。
然后运行报告:
$ gradle jacocoTestReport