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

时间:2014-01-13 13:55:18

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

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

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

我想外化URL和密码,以便可以从Jenkins构建驱动它们。我不完全确定如何解决这个问题。测试将全部使用Gradle Android插件运行。

1 个答案:

答案 0 :(得分:2)

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

忽略Jenkins,这里有几个Gradle for Android方法:

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

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