Android - gradle testProguardFile - 它与单元测试相关的目的是什么
Android - gradle testProguardFile - what is its purpose relating to unit tests
谁能帮我了解下testProguardFile的使用。可以说我有调试 buildType,它在 gradle 构建文件中配置如下:
// inside android block
debug {
shrinkResources true // removes unused graphics etc
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
testProguardFile('test-proguard-rules.pro')
}
那我为什么要提供另一个名为 test-proguard-rules.pro 的 proguard 规则文件进行测试?如果我理解正确,当我进行仪器测试时会生成一个单独的 apk,但如果我只是进行单元测试,情况是否也是如此?
我希望能够做的是 运行 "unit tests"(不是仪器测试)但是让单元测试 apk 使用我在我的项目构建设置中定义的 proguard 规则。
现在我知道它是什么了 testProguadFile ('some proguard file') 为您的测试 apk 提供一个混淆文件以供测试时使用。这允许我们使用 proguard 文件测试我们的应用程序。当您 运行 测试时生成的测试 apk 将使用混淆器进行混淆,然后测试将 运行。这是测试混淆器可能在您的应用程序中创建的任何异常的好方法。
正如我在我的博客中试图解释的那样 post - Configuring ProGuard for Android Instrumentation Tests:
最初,运行ning 仪器测试有 粗略 2 个主要任务,distinct Gradle 个任务: assembleRelease
和 assembleAndroidTest
。前者执行生成应用程序所需的内容 .apk
。后者触发仪器测试 .apk
的组装,当仪器测试为 运行 时,它会与应用程序一起安装在测试设备上(在相同 [= 的上下文中两者都是 运行 38=]进程)。
虽然 proguardFiles
设置了在生成应用程序时要考虑的 ProGuard 规则文件列表 .apk
,但 testProguardFiles
做同样的事情到仪器 .apk
。
所以,虽然命名混乱,testProguardFiles
对 unit 测试没有影响,但对 运行ning in [=] 的仪器测试很重要36=] 个项目。
谁能帮我了解下testProguardFile的使用。可以说我有调试 buildType,它在 gradle 构建文件中配置如下:
// inside android block
debug {
shrinkResources true // removes unused graphics etc
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
testProguardFile('test-proguard-rules.pro')
}
那我为什么要提供另一个名为 test-proguard-rules.pro 的 proguard 规则文件进行测试?如果我理解正确,当我进行仪器测试时会生成一个单独的 apk,但如果我只是进行单元测试,情况是否也是如此?
我希望能够做的是 运行 "unit tests"(不是仪器测试)但是让单元测试 apk 使用我在我的项目构建设置中定义的 proguard 规则。
现在我知道它是什么了 testProguadFile ('some proguard file') 为您的测试 apk 提供一个混淆文件以供测试时使用。这允许我们使用 proguard 文件测试我们的应用程序。当您 运行 测试时生成的测试 apk 将使用混淆器进行混淆,然后测试将 运行。这是测试混淆器可能在您的应用程序中创建的任何异常的好方法。
正如我在我的博客中试图解释的那样 post - Configuring ProGuard for Android Instrumentation Tests:
最初,运行ning 仪器测试有 粗略 2 个主要任务,distinct Gradle 个任务: assembleRelease
和 assembleAndroidTest
。前者执行生成应用程序所需的内容 .apk
。后者触发仪器测试 .apk
的组装,当仪器测试为 运行 时,它会与应用程序一起安装在测试设备上(在相同 [= 的上下文中两者都是 运行 38=]进程)。
虽然 proguardFiles
设置了在生成应用程序时要考虑的 ProGuard 规则文件列表 .apk
,但 testProguardFiles
做同样的事情到仪器 .apk
。
所以,虽然命名混乱,testProguardFiles
对 unit 测试没有影响,但对 运行ning in [=] 的仪器测试很重要36=] 个项目。