使用命令行运行 Android Studio 中的 testSuite 并生成代码覆盖率报告,可以按照以下步骤进行操作:
./gradlew clean test jacocoTestReport
或者在 Windows 上执行:
gradlew clean test jacocoTestReport
这将会运行项目中的测试套件,并使用 Jacoco 插件生成代码覆盖率报告。
app/build/reports/jacoco/test/html/index.html
找到生成的代码覆盖率报告文件。用浏览器打开该文件,即可查看详细的代码覆盖率信息,包括覆盖率百分比、覆盖率具体情况等。需要注意的是,这里假设你的项目中已经配置了 Jacoco 插件来生成代码覆盖率报告。如果没有配置,你可以按照以下步骤进行配置:
build.gradle
文件中,添加 Jacoco 插件的依赖:buildscript {
dependencies {
classpath 'org.jacoco:org.jacoco.core:0.8.7'
}
}
plugins {
id 'jacoco'
}
jacoco {
toolVersion = "0.8.7"
}
build.gradle
文件中,应用 Jacoco 插件并配置生成代码覆盖率报告的任务:apply plugin: 'jacoco'
jacoco {
toolVersion = "0.8.7"
}
tasks.withType(Test) {
jacoco.includeNoLocationClasses = true
}
task jacocoTestReport(type: JacocoReport, dependsOn: ['testDebugUnitTest', 'createDebugCoverageReport']) {
reports {
xml.enabled = false
html.enabled = true
html.destination file("${buildDir}/reports/jacoco/test/html")
}
def fileFilter = ['**/R.class', '**/R$*.class', '**/BuildConfig.*', '**/Manifest*.*', '**/*Test*.*', 'android/**/*.*']
def debugTree = fileTree(dir: "${buildDir}/intermediates/javac/debug", excludes: fileFilter)
def mainSrc = "${project.projectDir}/src/main/java"
sourceDirectories = files([mainSrc])
classDirectories = files([debugTree])
executionData = files("${buildDir}/jacoco/testDebugUnitTest.exec")
}
完成上述配置后,重新执行上述命令,即可生成代码覆盖率报告。
参考链接:
领取专属 10元无门槛券
手把手带您无忧上云