我正在转向Gradle plugin for Android并重构一些集成测试。其中一些测试的代码如下:
@Override
protected void setUp() throws Exception {
super.setUp();
_client = new Client("https://test02.server.com", "password");
}
我想外化URL和密码,以便可以从Jenkins构建驱动它们。我不完全确定如何解决这个问题。测试将全部使用Gradle Android插件运行。
答案 0 :(得分:2)
好吧,我不能代表Jenkins发言。
忽略Jenkins,这里有几个Gradle for Android方法:
将这些值放在资源(如字符串资源)中,并为不同类型的测试提供不同构建类型的那些资源的替换版本。您可以在this sample project中看到,我有不同版本的字符串资源用于调试与发布,还有自定义夹层构建类型。
将这些值放在BuildConfig
中,为不同类型的测试提供不同构建类型的替换版本。您可以在this sample project中看到,它扩展了前一个版本,在BuildConfig
文件中通过build.gradle
指令添加buildConfigField
。在此示例中,buildConfigField
中的值是硬编码的,它们可以由环境变量,属性文件等驱动。