Android 使用 Espresso 和不同的 BuildVariants 找不到测试支持库

Android Testing Support Library not found with Espresso and different BuildVariants

我们有三个 BuildVariants:releasedebugdevelop。第一个是 AndroidStudio 的默认值。最后是我们的内部测试。以下是配置:(与 Signing Config 没有什么不同)

我们在 build.gradle 中导入了以下内容:

dependencies {
    // App dependencies
    compile 'com.android.support:support-annotations:22.0.0'
    compile 'com.google.guava:guava:18.0'
    // Testing-only dependencies
    androidTestCompile 'com.android.support.test:runner:0.2'
    androidTestCompile 'com.android.support.test:rules:0.2'
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.1'
}

现在我们已经创建了 androidTest/ 文件夹(Espresso-Tests 所在的位置)。我看过 Android-Testing Samples in GitHub.

中的示例

但是 AndoridStudio 对于 AndroidJUnit4.class 总是说 "Cannot find Symbole":

(现在,经过大量解释 - 抱歉 :D) 我发现了问题。我们的 Build Variants 是在 Android Instrumented Tests 上设置的(没关系),但 App-Module 是在 develop BuildVariant 上。当我们将其更改为 debug 时一切正常。

现在我不确定这是一个错误还是正常现象?!因为我们没有什么不同——而不是 Singing Config(但我已经测试过了,这不是问题)——在 BuildVariants 上。当它正常时,为什么?!

编辑:

我也创建了一个 AOSP-Ticket:https://code.google.com/p/android/issues/detail?id=172029

请查看我对错误的更新。简而言之,您需要这一行:

android {
  testBuildType "develop"
}