【问题标题】:How do I import com.android.support.test.espresso.contrib ? I have added the required dependencies and yet it says Cannot resolve symbol contrib?如何导入 com.android.support.test.espresso.contrib ?我已经添加了所需的依赖项,但它显示无法解析符号贡献?
【发布时间】:2018-12-26 00:00:32
【问题描述】:

我在我的应用程序的 build.gradle 文件中添加了以下用于 espresso 测试的依赖项:

compile fileTree(dir: 'libs', include: ['*.jar'])

testCompile 'junit:junit:4.12'
testCompile 'com.android.support.test:runner:1.0.2'
testCompile 'com.android.support.test:rules:1.0.2'


androidTestCompile 'com.android.support.test:runner:1.0.2'
androidTestCompile 'com.android.support.test:rules:1.0.2'

androidTestCompile 'com.android.support:support-annotations:25.4.0'


androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})


androidTestCompile ("com.android.support.test.espresso:espresso-contrib:3.0.2"){
    exclude group: 'com.android.support', module: 'appcompat'
    exclude group: 'com.android.support', module: 'support-v4'
    exclude group: 'com.android.support', module: 'support-v7'
    exclude group: 'com.android.support', module: 'design'
    exclude module: 'support-annotations'
    exclude module: 'recyclerview-v7'
}

然而,当我尝试时

import android.support.test.espresso.contrib 

它告诉无法解析符号'contrib'。我该怎么办?

【问题讨论】:

  • 这个问题你解决了吗?!

标签: java android android-studio build.gradle android-espresso


【解决方案1】:

将此添加到您的 build.gradle:

androidTestImplementation 'com.android.support.test.espresso:espresso-contrib:3.0.2'

【讨论】:

    【解决方案2】:

    我按照这个link解决这个问题

    我将此依赖项添加到 build.gradle。

        androidTestCompile ('com.android.support.test.espresso:espresso-contrib:2.2.1') {
        exclude group: 'com.android.support', module: 'appcompat'
        exclude group: 'com.android.support', module: 'support-v4'
        exclude module: 'recyclerview-v7'
        exclude module: 'support-annotations'
    }
    

    【讨论】:

      【解决方案3】:

      您的 espresso 测试代码必须在 src/androidTest/java 源代码树中(参考:android 开发人员培训资源,ui-testing)。

      对我来说,只有在将测试移动到这个特殊的源文件夹后才能找到 espresso 类。


      在 java 中你不能导入包。您可以从包中导入所有类:

      import android.support.test.espresso.contrib.AccessibilityChecks;
      

      或者您可以从包中导入所有类:

      import android.support.test.espresso.contrib.*;
      

      另外,非常重要:您使用 espresso 的测试必须是

      【讨论】:

      • 是的。我知道这一点。我的问题是即使我添加了依赖项也无法识别 contrib,因此键入 contrib.* 或任何类都没有意义,因为 contrib 本身无法识别。提前谢谢你。
      • @SurajSuresh 我有时间探索这个问题并更新了我的答案
      • @ThomasKläger 谢谢先生。测试用例位于 src/androidTest/java 中,所有依赖项都包含在 build.gradle 文件中,但仍然无法正常工作。经过大量研究,在没有找到技术解决方案的情况下,我尝试了一种网站上建议的非技术方法。我输入了包和类的名称,即使 android 没有识别它并且给了我错误“无法解析符号”。然后关闭 Android Studio 并重新打开它和 BAM!课程得到认可。我不知道怎么解释。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-07
      • 1970-01-01
      • 1970-01-01
      • 2019-02-18
      • 2015-02-26
      • 1970-01-01
      • 2016-09-30
      相关资源
      最近更新 更多