想知道在编写 Android 应用和库的单元测试用例时,使用 Robolectric 库还是坚持使用 Android Testing 框架哪个更好。我希望在命令行上运行测试套件,并且不需要配置模拟器或让设备连接构建机。你们有没有人对这两者或其他更好的东西进行过比较分析?你们的经验将会帮助我决定更好的解决方案。
想知道在编写 Android 应用和库的单元测试用例时,使用 Robolectric 库还是坚持使用 Android Testing 框架哪个更好。我希望在命令行上运行测试套件,并且不需要配置模拟器或让设备连接构建机。你们有没有人对这两者或其他更好的东西进行过比较分析?你们的经验将会帮助我决定更好的解决方案。
我同时使用了两种工具,我的发现如下:
1)Robolectric不支持API 19,其文档中有说明-http://robolectric.org/eclipse-quick-start/。这是它的一个巨大劣势。
2)Robolectric在JVM上运行而不是DVM上。因此,我们无法检测设备上是否启用了GPS等功能。我们只能传递预先决定好的值。
3)与junit相比,Robolectric的代码编写更加复杂,特别是对于Fragment,存在许多复杂性和问题。
4)Robolectric需要外部jar包和配置文件,而对于junit测试,我们不需要任何外部库。
5)Robolectric更快,因为它在JVM上运行,但这也有劣势,即我们无法看到屏幕上正在执行哪些代码。
对于Android,我喜欢使用jUnit进行测试。