【问题标题】:Problems setting up junit & mockito in Android Studio在 Android Studio 中设置 junit 和 mockito 的问题
【发布时间】:2015-08-06 06:49:09
【问题描述】:

我想设置我的项目以进行单元测试。

我尝试按照Android's page上的说明进行操作:

// Unit testing dependencies
testCompile 'junit:junit:4.12'
// Set this dependency if you want to use Mockito
testCompile 'org.mockito:mockito-core:1.10.19'
// Set this dependency if you want to use Hamcrest matching
androidTestCompile 'org.hamcrest:hamcrest-library:1.1'

但是,在这样做并创建测试时,我得到:

“无法解析符号‘junit’”

“无法解析符号'mockito'”

Vogel's tutorial 中,需要更多的依赖项,而我想要最低限度。

另外,使用 Vogel 的教程,我得到:

警告:与依赖项“com.android.support:support-annotations”冲突。应用 (22.2.1) 和测试应用 (22.2.0) 的已解决版本不同。

所以我的问题是:如何让 Android 页面的依赖项正常工作?

【问题讨论】:

  • 您是否尝试过明确添加testCompile 'com.android.support:support-annotations:22.2.1'
  • 是的。没有帮助:/
  • 我试图回答您的一些问题,但对于“无法解析符号 'junit'”错误,尚不清楚您何时以及如何得到它。只是通过尝试输入代码? gradle 是否真的有效并将依赖项放入项目中? gradle 构建失败了吗?
  • 我也遇到了同样的问题,你找到解决办法了吗?

标签: android unit-testing junit mockito


【解决方案1】:

支持注释问题是一个已知问题。您可以找到信息in their issue tracker。要解决它,在主(应用程序,而不是模块)build.gradle 文件中,添加所有项目部分

configurations.all {
    resolutionStrategy.force 'com.android.support:support-annotations:22.2.0'
}

(请参阅同一链接中的答案#11)。

关于额外的依赖项,您将需要 dexmaker 和 dexmaker-mockito 来在设备/模拟器中使用 mockito 进行测试,因为它们在需要 .dex 文件的 Dalvik VM 上运行,而 mockito 生成 .class 文件。单元测试与添加到 Android Studio 中的最新单元测试一样,在您的本地 JVM 中运行,因此它可能应该在没有 dexmaker 的情况下运行,但我目前无法确认这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 2021-04-13
    • 2017-12-25
    • 1970-01-01
    • 2020-11-08
    相关资源
    最近更新 更多