如何为Android运行单元测试不在设备或模拟器上?

时间:2015-03-07 23:15:57

标签: java android unit-testing jvm continuous-integration

在新的子项目的android studio中,据我所知,这个在设备或模拟器上运行的集成测试,检查应用程序的功能取决于SDK的android。但我确实有方法不依赖于android。他们的测试,我想花在JVM上,避免运行模拟器。

3 个答案:

答案 0 :(得分:7)

从Android Studio版本1.1.0 RC1和gradle插件开始,您可以在JVM上运行JUnit 4单元测试,而无需使用设备。

看看这个post

如果您拥有最新版本的Android Studio(1.1及更高版本),则无需担心使用正确的gradle插件;它已经完成了。您仍需要设置要在Settings > Gradle > Experimental.

中使用实验单元测试功能

答案 1 :(得分:1)

我实际上是在尝试使用MVP更改我的项目并对所有内容进行单元测试,而不是使用Espresso来测试项目。

我有一个带有浓咖啡和一些闲置资源的160个测试的项目,运行需要20-30分钟,而且在aws服务器或测试机器人上运行测试会很昂贵(5美元/运行/设备),所以也许MVP和单元测试都有希望。

看看这里:http://tools.android.com/tech-docs/unit-testing-support

  1. 您可以定义app/src/test/java/<apk_package>/文件夹并将所有JUnit 4测试放在那里,它们将在没有模拟器的情况下运行

  2. 添加依赖项:testCompile 'junit:junit:4.12'

  3. 运行测试:D

答案 2 :(得分:0)

添加,重要的是将junit测试文件放在app / src / test / java / [apk_package] /文件夹中,而不是app / src / androidTest / java / [apk_package] /文件夹中!将它放在androidTest文件夹中将强制运行android模拟器或设备运行程序。