0
点赞
收藏
分享

微信扫一扫

【Android Gradle 插件】BuildType 编译类型配置 ⑦ ( BuildType#testCoverageEnabled 配置 )



文章目录

  • ​​一、BuildType#testCoverageEnabled 配置​​

Android Plugin DSL Reference 参考文档 :

  • 文档主页 : ​​https://google.github.io/android-gradle-dsl/2.3/​​
  • AppExtension ( build.gradle#android 配置 ) 文档位置 : ​​android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.AppExtension.html​​
  • build.gradle#android 模块配置文档 : ​​android-gradle-dsl/2.3/com.android.build.gradle.AppExtension.html​​
  • ProductFlavor ( build.gradle#android#defaultConfig 配置 ) 文档 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.ProductFlavor.html​​
  • ProductFlavor#externalNativeBuild 配置 ( build.gradle#android#defaultConfig#externalNativeBuild 配置 ) : ​​com.android.build.gradle.internal.dsl.ProductFlavor:externalNativeBuild​​
  • ExternalNativeBuildOptions ( build.gradle#android#defaultConfig#externalNativeBuild 配置 ) 文档位置 : ​​android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.internal.dsl.ExternalNativeBuildOptions.html​​
  • NdkBuildOptions ( build.gradle#android#defaultConfig#externalNativeBuild#ndkBuild 配置 ) 文档位置 : ​​android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.internal.dsl.NdkBuildOptions.html​​
  • CmakeOptions ( build.gradle#android#defaultConfig#externalNativeBuild#cmake 配置 ) 文档位置 : ​​android-gradle-dsl-gh-pages/2.3/com.android.build.gradle.internal.dsl.CmakeOptions.html​​
  • JackOptions ( build.gradle#android#defaultConfig#jackOptions 配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.JackOptions.html​​
  • AnnotationProcessorOptions ( 注解处理器配置 ) ( build.gradle#android#defaultConfig#javaCompileOptions配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.AnnotationProcessorOptions.html​​
  • NdkOptions ( build.gradle#android#defaultConfig#ndk 配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.NdkOptions.html​​
  • VectorDrawablesOptions ( build.gradle#android#defaultConfig#vectorDrawables 配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.VectorDrawablesOptions.html​​
  • BuildType ( build.gradle#android#buildTypes 配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.BuildType.html​​
  • SigningConfig ( build.gradle#android#signingConfigs 配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.SigningConfig.html​​
  • NDK 参考文档 : ​​Add C and C++ Code to Your Project.​​

一、BuildType#testCoverageEnabled 配置

BuildType ( build.gradle#android#buildTypes 配置 ) 文档位置 : ​​android-gradle-dsl/2.3/com.android.build.gradle.internal.dsl.BuildType.html​​

BuildType#testCoverageEnabled 配置 作用是 配置 是否为此 BuildType 编译类型 启用测试覆盖率报告 ;

配置了 testCoverageEnabled 为 true 后 , 编译 Android 项目时 , 会自动生成一个任务 , 用于报告 " 测试覆盖率 " ;

是否为此生成类型启用测试覆盖率。
如果启用,它将使用Jacoco捕获覆盖率,并在构建目录中创建报告。
Jacoco的版本可以配置为:

BuildType#testCoverageEnabled 配置原型 :

boolean testCoverageEnabled
Whether test coverage is enabled for this build type.

If enabled this uses Jacoco to capture coverage and creates a report in the build directory.

The version of Jacoco can be configured with:

android {
jacoco {
version = '0.6.2.201302030002'
}
}

在 Android Studio 工程中的 " 命令行面板 " 中 , 在 Android 工程根目录执行

gradlew :app:tasks

命令 , 就可以看到所有的 gradle 编译任务 ,

【Android Gradle 插件】BuildType 编译类型配置 ⑦ ( BuildType#testCoverageEnabled 配置 )_android studio

其中在 Verification tasks 中的

createDebugCoverageReport - Creates test coverage reports for the debug variant.

任务 , 就是创建的 报告测试覆盖率 的任务 ;

【Android Gradle 插件】BuildType 编译类型配置 ⑦ ( BuildType#testCoverageEnabled 配置 )_gradle_02


执行

gradlew :app:createDebugCoverageReport

命令 , 生成 " 测试覆盖率报告 " 成功 ,

【Android Gradle 插件】BuildType 编译类型配置 ⑦ ( BuildType#testCoverageEnabled 配置 )_Groovy_03

生成路径为 " app\build\reports\coverage\debug " ;

【Android Gradle 插件】BuildType 编译类型配置 ⑦ ( BuildType#testCoverageEnabled 配置 )_android studio_04

打开 " app\build\reports\coverage\debug\index.html " 页面 , 内容如下 :

【Android Gradle 插件】BuildType 编译类型配置 ⑦ ( BuildType#testCoverageEnabled 配置 )_android studio_05

测试覆盖率 0% , 也就是一个测试也没有 ;


注意 : 需要关闭混淆 , 不要设置包名后缀 , 参考 【错误记录】Android Studio 中生成测试覆盖率报告出错 ( ExampleInstrumentedTest > useAppContext[Pixel 2 - 9] FAILED ) 博客 ;



举报

相关推荐

0 条评论