Skip to content

Instantly share code, notes, and snippets.

@shekibobo
Created June 5, 2015 14:53
Show Gist options
  • Save shekibobo/da0237437c578cd0de00 to your computer and use it in GitHub Desktop.
Save shekibobo/da0237437c578cd0de00 to your computer and use it in GitHub Desktop.
Using test-variant string resources in espresso tests
def buildConfigAndResStringField(variant, name, value) {
variant.resValue 'string', name.toLowerCase(), value
variant.buildConfigField 'String', name, "\"$value\""
}
// Tried this, tests use the .debug suffix, not the .debug.test suffix
afterEvaluate {
android.applicationVariants.each { variant ->
buildConfigAndResStringField variant, "ACCOUNT_TYPE", variant.applicationId
buildConfigAndResStringField variant, "TOKEN_TYPE", variant.applicationId
buildConfigAndResStringField variant, "CONTENT_AUTHORITY", variant.applicationId + ".provider"
if (variant.testVariant != null) {
System.out.println("testVariant ${variant.applicationId}")
buildConfigAndResStringField variant.testVariant, "ACCOUNT_TYPE", variant.applicationId + ".test"
buildConfigAndResStringField variant.testVariant, "TOKEN_TYPE", variant.applicationId + ".test"
buildConfigAndResStringField variant.testVariant, "CONTENT_AUTHORITY", variant.applicationId + ".provider.test"
}
}
}
// Also tried this, tests use the .debug suffix, not the .debug.test suffix
afterEvaluate {
android.applicationVariants.each { variant ->
buildConfigAndResStringField variant, "ACCOUNT_TYPE", variant.applicationId
buildConfigAndResStringField variant, "TOKEN_TYPE", variant.applicationId
buildConfigAndResStringField variant, "CONTENT_AUTHORITY", variant.applicationId + ".provider"
}
android.testVariants.each { variant ->
System.out.println("testVariant ${variant.applicationId}")
buildConfigAndResStringField variant, "ACCOUNT_TYPE", variant.applicationId + ".test"
buildConfigAndResStringField variant, "TOKEN_TYPE", variant.applicationId + ".test"
buildConfigAndResStringField variant, "CONTENT_AUTHORITY", variant.applicationId + ".provider.test"
}
}
// Question is, how can I get the app to use the `.test` version of the resource string
// when running InstrumentationTests?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment