OCMStub([classMock isTouchIDSupported]).andCall(checkbox,@selector(isChecked));
c、mock设置参数中的返回值;
对于函数返回值放在参数中的情况,即参数传递的是一个指针的指针,直接不执行mock函数,而是将返回值直接设置给返回值参数。举例如下:
d、mock一个异常返回。
在单元测试中,也常常需要mock一个异常返回,从而去保证异常路径得到覆盖。如下为一个简单示例:
对于黑盒测试,如果要后台返回特定的数据需要配单,且还难以模拟一些后台。
返回异常数据情况。有了单元测试后,我们可以在不配单情况下指定后台返回数据,检查客户端对于后台的正常和异常返回处理是否得当。在集成测试前,做验证模块内部的逻辑正确性,避免在联调时花费过多的时间来解决小问题,提高联调的效率。
举例:iOS手机管家问问中一次更新拉取,如果后台有超过20篇以上的文章,那么仅返回前20条。黑盒测试方案,我们必须在后台配置至少20篇以上文章。在接口自动化测试中,先模拟后台有超过20篇文章,检查是否有做好仅显示前20篇文章客户端逻辑。
原文转自:http://tmq.qq.com/2017/07/ios/