hantty 发表于 2014-10-16 13:10:57

android单元测试框架Robolectric,第一次写单元测试用例,不知从何入手,求助

背景:
1、我是测试人员,之前都没做过单元测试。
2、我熟悉java,也了解android的基本框架,能看懂大部分代码。
3、项目需要做android自动化测试。


之前做过robotium框架的自动化,这个实现和使用都比较简单,用例也写了不少,但是界面测试很不稳定,经常出现问题,再加上我们的产品是前端app+后台的新闻资讯平台,使得用例维护成本相对高,用例执行慢,服务器数据预置、需要终端机连接、项目版本更新较快界面偶尔变动等原因,就想试试其他方式的自动化。再加上最近开发经常在清理findbug,引入不少老功能问题,我就想在代码层面上写些自动化用例,决定写单元测试用例试试。

前两天花了两天时间熟悉了下robolectric框架,结果好不容易将框架熟悉,集成到jenkins后,发现问题来了:代码量很大,不知道从哪里入手开始写。
由于robolectric的例子很简单,就是1个按钮点击,获取文本的值而已,了解怎么用了,但实际应用不知道怎么办。但我们项目所有数据都是网络交互的,activity之间也有数据共享等,方法间的耦合度高。看着茫茫的代码,不知道怎么写了。


我原来的想法很简单,认为大部分方法不外是入参,返回值,我只要构造各种输入的参数,验证返回值就好,但是我发现这种方法不多,只写这种方法的话,覆盖率估计连30%都不到。
请专家们提供下写robolectric用例的思路吧,介绍下写单元测试的经验,谢谢。



土豆不圆 发表于 2015-10-19 17:06:16

楼主你好,我也是在做robolectric的单元测试,有机会向您请教一下:)

十期学员 发表于 2016-6-10 19:02:55

楼主提到的这种测试方案只能针对带参数和有返回值的方法,单很多被测方法都是void返回类型的,这就需要测试方法内部具体干活的那一部分,void方法内部一般用来操作某些全局变量,用robolectric可以在本机JVM环境下模拟实现activity和其它组件而不用连接真机或者模拟器来进行单元测试,验证不同条件下这些全局变量最终是否被赋予了预期的值,robolectric也实现了模拟网络请求功能,楼主的项目里应该会用到这部分。
页: [1]
查看完整版本: android单元测试框架Robolectric,第一次写单元测试用例,不知从何入手,求助