android - Android 集成/功能测试的外部化配置

标签 android jenkins gradle integration-testing android-gradle-plugin

我要转到Gradle plugin for Android并重构一些集成测试。其中一些测试的代码如下:

@Override
protected void setUp() throws Exception {
    super.setUp();
    _client = new Client("https://test02.server.com", "password");
}

我想将 URL 和密码外部化,以便可以从 Jenkins 构建中驱动它们。我不完全确定该怎么做。所有测试都将使用 Gradle Android 插件运行。

最佳答案

好吧,我不能代表 Jenkins 部分发言。

忽略 Jenkins,这里有一些适用于 Android 的 Gradle 方法:

  1. 将这些值放入资源中,例如字符串资源,并在不同的构建类型中为不同类型的测试提供这些资源的替换版本。您可以在 this sample project 中看到这一点,其中我有不同版本的字符串资源用于调试与发布,另外还有自定义夹层构建类型。

  2. 将这些值放入 BuildConfig 中,并为不同类型的测试提供不同构建类型的替换版本。您可以在 this sample project 中看到这一点,它扩展了前一个,其中通过 buildConfigField 指令在 build.gradle 文件中添加到 BuildConfig 。在此示例中,buildConfigField 中的值是硬编码的,它们可以由环境变量、属性文件等驱动。

关于android - Android 集成/功能测试的外部化配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21092992/

相关文章:

java - 如何在设置默认SIM卡的双SIM卡中在Android中发送短信?

android - Android 的 OpenSSL

java - 当我使用 Ant 构建具有多个库的 Android 项目时,我的构建失败

scala - Intellij Gradle同步错误:scala导入错误

java - JOOQ 生成器 : Missing name

gradle - 通过提供身份验证在任务中克隆 git 存储库

Android:SurfaceView 正在阻止抽屉导航

android - 如何停止正在运行的服务?

jenkins - Jenkins 下游作业无法找到上游工件

ios - Jenkins 编译 .xib 时失败