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

发表于:2017-07-24来源:TMQ作者:TMQ点击数: 标签:
在接口测试时,我们常常会碰到异步测试场景,比如iOS手机管家中与后台请。 求相关的接口(小资讯请求、诈骗短信云查杀等),都需要等待后台返回结

在接口测试时,我们常常会碰到异步测试场景,比如iOS手机管家中与后台请。

求相关的接口(小资讯请求、诈骗短信云查杀等),都需要等待后台返回结果数据到客户端。在等待子线程完成任务时候,我们继续主线程其他代码执行,同时,异步等待子线程返回的结果数据,并用回调函数来处理即将接收的结果数据。

在XCode6以上版本中,苹果添加了用于异步回调测试的api,因此不用像旧版本那样,发起异步调用后通过循环查询标志位,来检查异步回调函数的调用了。在新版本中直接使用XCTestExpectation的API即可实现这一功能。

a、Block方式回调;

在单测开始位置声明需要使用的Expectation对象,在回调中触发fulfill函数,单测的末尾调用api进行等待,举例如下:

b、代理Delegate方式回调;

与block方式回调类似,不过由于回调函数在单测函数外侧,需要把变量声明到类中,举例如下:

Ps:如果希望保持测试用例与被测工程代码的独立性,回调函数需要在测试类中进行重写;否则,被测工程代码需要做些调整(例如:直接在工程代码中增加宏,在当前模式为测试模式时,在对应的回调函数中进行fulfill调用)。

2、如何访问private私有变量和私有方法

a、私有变量的访问和修改;

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

...