测试android库项目的最佳实践?

时间:2014-04-19 11:54:58

标签: android unit-testing android-studio android-gradle robolectric

我刚刚开始转向Android Studio和Gradle,我的第一个项目是一个小型库,现在将通过gradle构建。因为在某些时候我想把它推到maven中心,我想整合实体单元测试。我看了一些像HoloColorPicker和Actionbarsherlock这样的库,但似乎都没有通过gradle测试。

我真的希望能够为简单的事情创建经典的JUnit 4测试,例如测试不依赖于Android类的实用程序类和其他的Android测试。我的库没有UI类,我想阻止创建一个"测试应用程序"然后可以进行检测(引入更多复杂性并使测试更加努力)。 基本上,如果即使是Android依赖测试也可以在JVM(例如使用robolectric)而不是设备上运行,那将会很棒。

当然,我还需要与Android Studio完全集成IDE,例如直接查找拼写错误,代码完成,组织导入,重构等。

我阅读了很多关于这些主题的文章,但每个解决方案都有一些严重的缺点。集成Robolectric似乎非常困难,我发现的所有插件都已过时。 我希望你们中的一个人遇到类似的问题,并对如何在Android库项目中处理单元测试提出一些建议。

提前致谢。

1 个答案:

答案 0 :(得分:0)

就测试,android测试和genymotion(比模拟器或真实设备更快)和robolectric而言,我个人一直在以两种方式工作。我发现Android测试的弱点是你已经被jUnit3困住了,而且仪器部分很安静。最重要的是,您可以在Android Studio中开箱即用。我还写了一个带有ca.的库。 250次测试,这种方式已经足够好了(虽然它最终开始变慢)。

Robolectric的弱点在于它不能立即使用,需要一点努力才能设置。我还没能通过AS运行测试,但它很容易通过终端进行测试。我个人使用这个插件来运行测试

https://github.com/JCAndKSolutions/android-unit-test

因为它使我能够运行单个测试类。