[发明专利]一种iOS请求模拟方法有效
申请号: | 201810181697.5 | 申请日: | 2018-03-06 |
公开(公告)号: | CN108563426B | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 邱扬 | 申请(专利权)人: | 北京酷我科技有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20 |
代理公司: | 北京国标律师事务所 11753 | 代理人: | 姚克枫 |
地址: | 100080 北京市海淀区农大*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 ios 请求 模拟 方法 | ||
本发明涉及一种iOS请求模拟策略,包括如下步骤:获取模拟策略的配置数据,用于初始化模拟环境及初始参数;判断当前调试模式的状态,如果是调试模式开启,则接收发来的模拟触发指令;解析发来的模拟触发指令,判断当前应该开启还是关闭模拟策略,如果是开启模拟策略,则执行开启请求模拟操作,生成以下信息供用户使用:生成虚拟的请求指令,指令中包含请求URL地址,生成响应请求指令的返回数据,返回数据的内容及格式由本地JSON文件约束、提供,生成数据库内容,数据库内容由本地JSON文件约束、提供。本发明,算法统一,可以产生多种假数据,模拟不同情况,使移动端无需等待后端接口数据,提高App开发调试速度,方便开发和UI调试,效率高、安全性好。
技术领域
本发明涉及App开发调试技术领域,具体说是一种iOS请求模拟策略。
背景技术
现有的App开发中,项目组在遇到工期比较紧的时候,项目开发中会经常出现移动端等待后端接口数据的情形,不但耽误项目进度,更让人有种无奈的绝望。
所以在App开发中,为了保证工作进度,提高App开发调试速度,程序员不得不自行做些假数据,通过请求模拟,虚拟出假想的后端接口数据,以方便开发和UI调试。
然而做假数据方法不同,效率和安全性都各不同,有时稍有不慎,还会产生很大的bug。
例如:源码中写死数据是最便捷的假数据做法,项目很赶时,为最快速的看到UI效果,一般都会采取这种假数据方式。但是,源码中写死假数据虽然方便,但稍有不慎就容易直接上线上环境,演变成一个有可能非常严重也有可能很轻的bug,为安全起见,通常所有写死的假数据都应该包在条件编译宏内。在源码中写死假数据,最大的缺点是:扭曲了数据的正确流通。正确的数据产生方式,应该是发一个网络请求,然后把请求回来的数据转成model,最后通过model给各个UI组件填充数据。而在源代码中写死假数据,直接打乱了数据的正确流通,这会使得整个开发的逻辑是颠倒的,不但使开发更容易出bug,而且逻辑流的切换带来的开发效率和开发感受都很差。
再例如:利用单元测试的网络请求stub做假数据,首先按如下正常的流程开发整个功能——步骤1,创建模型数据对象Model;步骤2,创建view管理基类ViewController;步骤3,创建View等UI元素;步骤4,在view管理基类ViewController中完成网络请求的发起,并完成从网络数据到Model的转换;步骤5,应用Model填充UI。整个功能开发按照有真实网络请求进行,但事实上并没有网络请求,因为后台并未搭好,为此按如下方式做些假数据——按照后台给出的接口和数据格式定义,创建一个本地JSON文件且所创建的JSON文件加到项目目录中;然后在ViewController中stub本ViewController中所有的网络请求(stub 可以理解为测试桩,它能实现当特定的方法被调用时,返回一个指定的模拟值。如果你的测试用例需要一个伴生对象来提供一些数据,可以使用 stub 来取代数据源,在测试设置时可以指定返回每次一致的模拟数据);如此一来,网络请求将被stub,返回的数据将是所指定JSON文件中的数据,这样就跟真实的网络请求没有任何的区别了。而且,如果使用OHHTTPStubs(一个测试和开发的工具,可使用伪造的网络数据和模拟的缓慢网络来测试你的应用程序,从而检测你的应用程序在不佳的网络环境中的行为,并使用伪造的网络数据编写单元测试)还可以模拟网络请求失败、网络请求超时以及throttle等各种网络请求状态,从而更全面的调试UI和整个功能。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种iOS请求模拟策略,算法统一,可以产生多种假数据,模拟不同情况,使移动端无需等待后端接口数据,提高App开发调试速度,方便开发和UI调试,效率高、安全性好。
为达到以上目的,本发明采取的技术方案是:
一种iOS请求模拟策略,其特征在于,包括如下步骤:
获取模拟策略的配置数据,用于初始化模拟环境及初始参数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京酷我科技有限公司,未经北京酷我科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810181697.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种事件驱动的多流程协同处理系统
- 下一篇:一种音效类型选择的方法