2014-10-22 93 views

回答

0

通常应在目标设备上运行良好的测试。这就是为什么我的答案是:是的,你应该继续使用它。如果你在模拟器或类似的东西上测试,可能会有一些小的差异,会导致与真实设备不同的行为(特别是如果你使用某些硬件组件)。 如果您使用真实设备,测试运行速度快于仿真器的副作用。

0

我的替代看起来是这样的:

我已经重构我的Android应用到

  • 应用程序(使用库GUI),
  • Android的独立的-LIB(服务接口,dto- s,没有数据库绑定的businesslogic)
  • android-dependent-lib(android特有的服务接口和数据库绑定实现)

为android-independant-lib我已经创建了“正常”junit测试

为Android特定的部分我目前没有自动测试。

+0

看起来很有趣,但有时我们应该测试组件的UI或生命周期。 – handrenliang 2014-10-22 09:18:26

0

您正在寻找Robolectric

Robolectric是一个单元测试框架,它可以消除Android SDK jar,因此您可以测试驱动Android应用程序的开发。测试在几秒钟内在工作站上的JVM内部运行。

尚未完成(例如支持库操作栏不受支持),但它会为您节省大量时间。除此之外,你可以通过自己开发shadows来添加缺少的内容。

+0

该项目托管在https://github.com/robolectric/robolectric,而不是您指出的地方。弃用的是由Robolectric的作者之一写的一些Gradle插件,但不是Robolectric本身。 – 2014-10-28 05:03:51

+0

感谢您的更正。我删除了关于[depricated roboelectric-gradle-plugin]的原始错误评论(https://github.com/JakeWharton/gradle-android-test-plugin)。是否有任何非缺陷的机电插件? – k3b 2014-10-28 07:34:44

+0

在maven上,没有Robolectric插件这样的东西。 Robolectric是一个用于编写JUnit测试的库,由诸如surefire等插件执行。我想它在Gradle上是相似的。 – 2014-10-28 08:51:19

相关问题