为这篇看似愚蠢的帖子道歉。
如何在最新版本的Android Studio SDK上运行Mockito?你能使用Android Studio平台使用Mockito运行多个测试吗?
我在Eclipse上使用过Mockito,在同一个窗口中运行了多达6个测试。但我正在努力想办法在安卓工作室平台上做到这一点,但我找不到任何有答案的网站或教程。
Android Studio 1.1现在内置了对单元测试的支持。来自单元测试支持-安卓工具项目网站:
单元测试在开发机器上的本地JVM上运行。我们的gradle插件将编译src/test/java中的源代码,并使用常用的gradle测试机制执行它。在运行时,测试将针对android.jar的修改版本执行,在该版本中,所有最终修饰符都已被剥离。这允许您使用流行的mocking库,如Mockito。
您必须在android模块的build.gradle文件中指定测试依赖项。例如:
dependencies {
testCompile 'junit:junit:4.12'
testCompile "org.mockito:mockito-core:1.9.5"
}
该页面还包含一个逐步指南,用于设置Android Studio进行单元测试,包括为单元测试创建一个单独的目录:
- 为测试源代码创建一个目录,即
src/test/java
。可以从命令行或使用"项目"工具窗口中的"项目"视图执行此操作。此时,新目录应以绿色突出显示注意:测试源目录的名称由gradle插件根据约定确定
我目前正在做一个项目,使用junit 4.12和Mockito 2.0.5测试版在Android Studio 1.1中进行单元测试,没有遇到任何问题:
dependencies {
// ...
testCompile 'junit:junit:4.12'
testCompile "org.mockito:mockito-core:2.0.5-beta"
}
至于同时运行多个测试,你指的是测试用例吗?测试课程?测试套件?请澄清,如果需要,我会更新我的答案。
在应用程序中打开app/build.gradle
文件,并将mockito添加到依赖项中,如果没有依赖项,则可以继续创建它。
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile 'org.mockito:mockito-core:1.10.8'
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.1'
}
然后在单元测试中,只需像往常一样创建一个mock对象:http://site.mockito.org/#how
单元测试应该在app/src/androidTest/文件夹下。
我可以验证接受的答案是否正确,但为了进一步了解答案,主文件夹旁边会有一个androidTest文件夹。通常情况下,您会使用androidTest文件夹进行仪器测试。只需确保在buildvariations面板下,TestArtifact:被选择为"UnitTests",否则build.gradle中的testCompile将不起作用。我花了一段时间才弄清楚这一部分。
希望能有所帮助。