【问题标题】:Android Studio (Gradle) cannot find MockitoAndroid Studio (Gradle) 找不到 Mockito
【发布时间】:2015-07-04 10:37:18
【问题描述】:

我尝试在 Android Studio 1.2.2 中使用 Mockito,但出现以下错误:

错误:(50, 17) 无法解决:org.mockito:mockito-core:1.10.19

手动添加依赖后同步 Gradle 时出现错误。这是我的模块 Gradle 文件中的依赖项:

    dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.2.0'
    testCompile 'org.mockito:mockito-core:1.10.19' 
}

谁能帮我解决这个问题?

相关问题:

  1. 我需要先手动下载 Mockito 吗?
  2. 如果是,我应该把它放在哪里?

注意:cmets 有助于解决上述问题。然而,它让我陷入了另一个我无法解决的问题。但是更新到 Android Studio 1.3 解决了它。我现在在 Android Studio 中运行 Mockito。

【问题讨论】:

    标签: android-studio mockito


    【解决方案1】:

    尝试用androidTestCompile 替换testCompile,它在导入Mockito 库时对我有用。

    但是,如果仅包含 mockito-core,则可能会遇到运行时错误。您需要添加到您的 gradle 中:

    androidTestCompile "org.mockito:mockito-core:1.10.19"
    androidTestCompile "com.google.dexmaker:dexmaker:1.2"
    androidTestCompile "com.google.dexmaker:dexmaker-mockito:1.2"
    

    如果你在使用 dexcache 时遇到错误,请将此行放入你的 setUp()(假设你使用的是 InstrumentalTestCase

    System.setProperty("dexmaker.dexcache", getInstrumentation().getTargetContext().getCacheDir().getPath());
    

    【讨论】:

    • 不幸的是,它没有帮助。同样的错误不断弹出。实际上,我还添加了 dexcache 行。现在错误出现了 3 次。我需要先下载这些软件包吗?我应该把它们放在哪里?
    • 可能你的 gradle 处于离线工作模式。转到文件/设置/Gradle,看看是否选中了“离线工作”,取消选中并再次同步。
    • 我打开和关闭了Offline work 只是为了检查。现在我收到这条消息:...':app:_debugAndroidTestCompile'. > Could not resolve org.mockito:mockito-core:1.10.19 Required by:... > Could not GET 'https://jcenter.bintray.com/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19.pom'. 有什么想法吗?
    • 好吧,看起来 mockito 是一个 maven 的库。因此,请尝试在依赖项块之前添加此 repositories { mavenCentral() } 并再次同步。
    • 没有找到任何解决方案。但自从最近更新到 Android Studio 1.3 后,它突然就起作用了。
    【解决方案2】:

    我遇到了类似的问题,手动添加 mockito jar 文件为我做了这件事。

    为此,首先在您的应用目录中创建一个名为“libs”的目录。请注意,此目录应与 src/main 和 build 目录处于同一级别。 接下来,下载 mockito jar 文件并将其粘贴到 libs 目录中。

    将它包含在应用级 build.gradle 文件中的依赖项中:

    dependencies {
        compile files('libs/add-your-jar-file-name-here')
    }
    

    同步 gradle 应该可以完成这项工作。

    有关快照的更详细答案,请参阅this 答案。

    【讨论】:

      【解决方案3】:

      androidTestCompile 现在已替换为 androidTestImplementation

      dependencies {
      
      androidTestImplementation 'junit:junit:4.12'
      androidTestImplementation 'org.mockito:mockito-core:1.10.19'
      }
      

      【讨论】:

        【解决方案4】:

        确保测试文件位于$your_module/src/test/java$your_module/src/androidTest/java 目录下。

        【讨论】:

          猜你喜欢
          • 2018-04-08
          • 1970-01-01
          • 2015-05-14
          • 1970-01-01
          • 2014-08-26
          • 2021-05-13
          • 1970-01-01
          • 2017-09-19
          • 2020-11-02
          相关资源
          最近更新 更多