我一直在做一个项目,我想要添加自动化测试。我已经添加了一些单元测试,但我对我一直使用的过程没有信心,我在自动化测试方面没有很好的经验,所以我想请教一些建议。
该项目与我们的web API集成在一起,因此它有一个登录过程。根据登录的用户,API提供了一个配置文件,该文件将允许/禁止访问移动应用程序中的某些模块和权限。我们还有一个同步过程,应用程序将从API访问几种方法来下载文件(PDF,html,视频等),并通过JSON文件接收大量数据。用户基本上不必插入数据,只需使用在同步过程中接收到的信息。
到目前为止,我在此场景中添加单元测试所做的是模拟一个登录的用户,然后向该用户添加一些fixture对象并对其进行测试。我能够测试web服务集成,我使用Nocilla返回假JSON并断言结果。到目前为止,我只能测试单个请求,但我仍然不知道应该如何测试同步过程。
我很难为我的视图控制器创建单元测试。我是不是应该只对业务逻辑进行单元测试,而用KIF / Calabash这样的工具来完成其余的工作?
有没有简单的方法来设置夹具数据和文件?
谢谢!
发布于 2015-01-14 09:39:31
每个人的里程数可能会有所不同,但这里是我们达成的目标和原因。
单元测试:我们使用类似的策略。唯一的区别是我们使用OHTTPStubs而不是Nocilla,因为我们看到了我们需要的更多的灵活性,并且很乐意牺牲Nocilla更容易的语法。
做更复杂(非单一查询)的测试用例很快就失去了它的光彩,因为我们本质上是在重建整个HTTP请求/响应流,而这并不是非常“单元”。对于功能测试,我们最终采用了KIF (至少对于专注于开发的工作,假设您没有独立的QA部门),原因如下:
使用KIF/Calbash或类似的方法测试视图控制器逻辑(任何非面向单元的东西)肯定要有用得多,所以这是我建议的方法。
为了获得额外的积分,下面是我们做的其他一些事情。去展示你能做什么,我猜:
不是这个答案的一部分,但如果你ping我,我很乐意与你分享。
https://stackoverflow.com/questions/27882233
复制相似问题