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

6
在Android Studio中,新的子项目中似乎有集成测试,可以在设备或模拟器上运行,并检查应用程序功能是否依赖于Android SDK。但我有一些不依赖于Android的方法。我希望在JVM上对它们进行测试,而不必运行模拟器。
3个回答

8

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

请查看此帖子

如果您拥有最新版本的Android Studio(1.1及以上),则无需担心使用正确的gradle插件;它已经完成了。您仍然需要设置您想要在设置> Gradle > 实验性中使用实验性单元测试功能。


谢谢。如何从命令行(gradle)运行这些测试? - georgeci
1
你需要执行 ./gradlew test - Emmanuel

1
我实际上正在尝试使用MVP和单元测试来更改我的项目,而不是使用Espresso测试项目。

我有一个包含160个espresso测试和一些空闲资源的项目,运行需要20-30分钟,而在aws farm或test droid上运行测试成本很高(每次$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

0
补充一点,将junit测试文件放在app/src/test/java/[apk_package]/文件夹中非常重要,而不是放在app/src/androidTest/java/[apk_package]/文件夹中!将其放在androidTest文件夹中会强制运行Android模拟器或设备运行程序。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接