Android - gradle testProguardFile -它与单元测试相关的目的是什么?



谁能帮我理解testProguardFile的用法?假设我有debug 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')
    }

那么为什么我要提供另一个proguard规则文件test-proguard-rules ?测试专家?如果我理解正确,当我做仪器测试一个单独的apk生成,但如果我只是做单元测试,它也是这样吗?

我想能够做的是运行"单元测试"(不是仪表测试),但让单元测试apk使用我在项目构建设置中定义的proguard规则。

正如我在我的博客文章中解释的那样-为Android Instrumentation测试配置ProGuard:

最初,有大约 2个主要的,不同的 Gradle任务用于运行仪表测试:assembleReleaseassembleAndroidTest。前者执行生成应用.apk所需的内容。后者触发仪表测试.apk的组装,当仪表测试运行时,它与应用程序一起安装在测试设备上(两者都在同一操作系统进程的上下文中运行)。

proguardFiles设置生成应用程序.apk时要考虑的ProGuard规则文件列表时, testProguardFiles 对检测.apk做同样的事情。

因此,虽然命名令人困惑,但testProguardFiles单元测试没有影响,但它对于在启用proguard的项目中运行的instrumentation测试很重要。

现在我看到它是什么testProguadFile('一些保护文件')给你的测试apk一个保护文件测试时使用。这允许我们使用proguard文件测试我们的应用程序。运行测试时生成的测试apk将被proguard混淆,然后测试将运行。这是测试proguard可能在应用中创建的任何异常的好方法。

相关内容

  • 没有找到相关文章

最新更新