设置junit&的问题Android Studio中的mockito

时间:2015-08-06 06:49:09

标签: android unit-testing junit mockito

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

我尝试按照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”冲突。 app(22.2.1)和测试app(22.2.0)的已解决版本不同。

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

1 个答案:

答案 0 :(得分:2)

支持注释问题是众所周知的。您可以找到信息in their issue tracker。要解决此问题,请在main(app,not module)build.gradle文件中添加allprojects部分

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的情况下运行,但我还不能证实这一点。