IOS逻辑自动化测试实践(7)

发表于:2017-07-24来源:TMQ作者:TMQ点击数: 标签:
OCMStub([classMockisTouchIDSupported]).andCall(checkbox,@selector(isChecked)); c、mock设置参数中的返回值; 对于函数返回值放在参数中的情况,即参数传递的是一个指针的指

OCMStub([classMock isTouchIDSupported]).andCall(checkbox,@selector(isChecked));

c、mock设置参数中的返回值;

对于函数返回值放在参数中的情况,即参数传递的是一个指针的指针,直接不执行mock函数,而是将返回值直接设置给返回值参数。举例如下:

d、mock一个异常返回。

在单元测试中,也常常需要mock一个异常返回,从而去保证异常路径得到覆盖。如下为一个简单示例:

4、模拟后台数据返回

对于黑盒测试,如果要后台返回特定的数据需要配单,且还难以模拟一些后台。

返回异常数据情况。有了单元测试后,我们可以在不配单情况下指定后台返回数据,检查客户端对于后台的正常和异常返回处理是否得当。在集成测试前,做验证模块内部的逻辑正确性,避免在联调时花费过多的时间来解决小问题,提高联调的效率。

举例:iOS手机管家问问中一次更新拉取,如果后台有超过20篇以上的文章,那么仅返回前20条。黑盒测试方案,我们必须在后台配置至少20篇以上文章。在接口自动化测试中,先模拟后台有超过20篇文章,检查是否有做好仅显示前20篇文章客户端逻辑。

原文转自:http://tmq.qq.com/2017/07/ios/

...