Android测试BuildConfig字段

时间:2016-10-20 14:11:57

标签: android gradle android-gradle android-testing

假设我的build.gradle文件为BuildConfig中定义的同一变量定义了不同的值:

android {
    def INTEGER= "integer"
    def VARIABLE = "variable"
    buildTypes {
        release {
            buildConfigField BOOLEAN, VARIABLE, "1"
        }

        debug {
            buildConfigField BOOLEAN, VARIABLE, "2"
        }
    }
}

我想为BuildConfigandroidTest中创建的那个)

创建此变量的app/build/generated/source/buildConfig/androidTest/debug/{app_id}/test/BuildConfig.java

现在,该值与debug闭包中的值相同。

  

是否可以改变它?

1 个答案:

答案 0 :(得分:10)

我找到了一种方法here

创建另一个buildType(其名称不得以:test开头)并将其名称传递给属性:

android {

    testBuildType "staging"

    def INTEGER= "integer"
    def VARIABLE = "variable"
    buildTypes {

        debug {
            buildConfigField BOOLEAN, VARIABLE, "2"
        }

        staging {
            initWith(buildTypes.debug)
            buildConfigField BOOLEAN, VARIABLE, "4"
        }
    }
}

必须针对staging buildType进行测试。