CN107659455A - 一种iOS端Mock数据的方法、存储介质、设备及系统 - Google Patents

一种iOS端Mock数据的方法、存储介质、设备及系统 Download PDF

Info

Publication number
CN107659455A
CN107659455A CN201710962003.7A CN201710962003A CN107659455A CN 107659455 A CN107659455 A CN 107659455A CN 201710962003 A CN201710962003 A CN 201710962003A CN 107659455 A CN107659455 A CN 107659455A
Authority
CN
China
Prior art keywords
network
mock
interface
relation table
filenames
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710962003.7A
Other languages
English (en)
Other versions
CN107659455B (zh
Inventor
苏正权
张文明
陈少杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Southern Power Grid Internet Service Co ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201710962003.7A priority Critical patent/CN107659455B/zh
Publication of CN107659455A publication Critical patent/CN107659455A/zh
Priority to PCT/CN2018/081316 priority patent/WO2019075994A1/zh
Application granted granted Critical
Publication of CN107659455B publication Critical patent/CN107659455B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种iOS端Mock数据的方法、存储介质、设备及系统,涉及Mock数据技术领域。该方法包括:建立网络输出模拟组件:利用dispatch_once函数定义网络输出模拟组件,使所述网络输出模拟组件初次创建后,后续的创建均调用第一次创建结果;建立关系表:懒加载第一关系表以及第二关系表,所述第一关系表保存接口名和Mock文件名之间的对应关系,所述第二关系表保存所述接口名和自定义Mock网速值之间的对应关系;网络请求拦截:所述网络输出模拟组件获取网络请求接口的信息,并依据所述第一关系表以及所述第二关系表,获取动态设定网络接口、Mock文件名以及Mock网络参数。本发明获得精准且高效的Mock数据效果的同时,能够模拟Mock数据的网络环境,从而获得较佳的工作效果。

Description

一种iOS端Mock数据的方法、存储介质、设备及系统
技术领域
本发明涉及Mock数据技术领域,具体来讲是一种iOS端Mock数据的方法、存储介质、设备及系统。
背景技术
目前,iOS客户端开发中,由于后端和客户端开发同时进行,客户端的开发过程中常常需要等待后端的接口完成,才能进行相关客户端逻辑的开发,造成客户端开发效率低下,此时则需要mock后端的数据从而提高客户端开发效率,缩短工时。
单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试过程中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试,而在单元测试过程中,对于某些不容易构造或者不容易获取的对象,可以采用创建一个虚拟的对象来进行测试的方式,这个虚拟的对象就称为Mock对象,Mock对象就是实际中的对象在单元测试期间的代替品。
而现有的Mock数据方案绝大多数使用OHHTTPStubs库来做http数据Mock,需要在事先手动创建一张映射表,分别映射请求接口名称和待Mock的数据文件名称,此方法要求映射请求接口名称在编译以前就必须在Mock类的关系映射表中存在映射关系,故而造成Mock数据效率较低,从而最终导致客户端开发效率低下。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种iOS端Mock数据的方法、存储介质、设备及系统,获得精准且高效的Mock数据效果的同时,能够模拟Mock数据的网络环境,从而获得较佳的工作效果。
为达到以上目的,本发明采取的技术方案是:提供一种iOS端Mock数据的方法,该方法包括以下步骤:
S1、建立网络输出模拟组件:利用dispatch_once函数定义网络输出模拟组件,使所述网络输出模拟组件初次创建后,后续的创建均调用第一次创建结果;
S2、建立关系表:加载第一关系表以及第二关系表,所述第一关系表保存接口名和Mock文件名之间的对应关系,所述第二关系表保存所述接口名和自定义Mock网速枚举值之间的对应关系;
S3、动态对应匹配:所述网络输出模拟组件模拟网络请求,根据所述网络请求获取网络请求接口的信息,并依据所述第一关系表以及所述第二关系表,从多个所述接口名中获取与网络请求接口相匹配的动态设定网络接口,并结合所述自定义Mock网速枚举值,获得与所述动态设定网络接口对应的最终Mock文件名以及Mock网络参数。
在上述技术方案的基础上,步骤S1中,所述网络输出模拟组件初次创建之前,对系统当前状态进行判断,若当前系统处于debug状态,则进行创建步骤,若系统处于非debug状态,则停止创建步骤,返回空对象。
在上述技术方案的基础上,所述第二关系表作为对网络异常状态的判断依据。
在上述技术方案的基础上,步骤S3包括以下步骤:
S301、所述网络输出模拟组件模拟网络请求,根据所述网络请求并获取所述网络请求接口的信息;
S302、判断所述第一关系表是否存在所述网络请求接口相匹配的所述接口名以及与所述接口名对应的所述Mock文件名,若存在则开启所述网络请求接口的Mock数据工作;
S303、判断所述第一关系表中的所述Mock文件名是否存在Mock数据地址,并判断所述Mock数据地址对应的所述Mock数据是否存在,若存均存在,则将所述Mock数据转化为OHHTTPStubsResponse格式,将所述网络请求接口定为所述动态设定网络接口,并记录所述网络请求接口对应的所述Mock文件名为所述最终Mock文件名;
S304、取出所述第二关系表中,所述网络请求接口的所述自定义Mock网速枚举值,以所述自定义Mock网速枚举值为依据选择不同的待定Mock网络参数,用OHHTTPStubs类的requestTime方法来模拟正常网速并使用responsewithError方法来模拟网络异常情况,获取传输速度最快且网络正常的所述待定Mock网络参数,定为所述Mock网络参数;
S305、提取所述动态设定网络接口、所述最终Mock文件名以及所述Mock网络参数。
本发明还提供一种存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现上述权利要求1至4中任一项所述方法的步骤。
本发明还提供一种iOS端Mock数据的设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现上述权利要求1至4中任一项所述方法的步骤。
本发明还提供一种iOS端Mock数据的系统,其特征在于:该系统包括组件创建模块、关系表创建模块、动态对应匹配模块;
所述组件创建模块用于:创建网络输出模拟组件,并利用dispatch_once函数定义网络输出模拟组件,使所述网络输出模拟组件初次创建后,后续的创建均调用第一次创建结果;
所述关系表创建模块用于:加载第一关系表以及第二关系表,所述第一关系表保存接口名和Mock文件名之间的对应关系,所述第二关系表保存所述接口名和自定义Mock网速枚举值之间的对应关系;
所述动态对应匹配模块用于:控制所述网络输出模拟组件模拟网络请求,根据所述网络请求获取网络请求接口的信息,并依据所述第一关系表以及所述第二关系表,从多个所述接口名中获取与网络请求接口相匹配的动态设定网络接口,并结合所述自定义Mock网速枚举值,获得与所述动态设定网络接口对应的最终Mock文件名以及Mock网络参数。
在上述技术方案的基础上,所述网络输出模拟组件初次创建之前,所述组件创建模块对系统当前状态进行判断,若当前系统处于debug状态,则进行创建步骤,若系统处于非debug状态,则停止创建步骤,返回空对象。
在上述技术方案的基础上,所述第二关系表作为对网络异常状态的判断依据。
在上述技术方案的基础上,所述动态对应匹配模块获取所述动态设定网络接口、所述最终Mock文件名以及所述Mock网络参数的具体流程为:
控制所述网络输出模拟组件模拟网络请求,根据所述网络请求获取所述网络请求接口的信息;
判断所述第一关系表是否存在所述网络请求接口相匹配的所述接口名以及与所述接口名对应的所述Mock文件名,若存在则开启所述网络请求接口的Mock数据工作;
判断所述第一关系表中的所述Mock文件名是否存在Mock数据地址,并判断所述Mock数据地址对应的所述Mock数据是否存在,若存均存在,则将所述Mock数据转化为OHHTTPStubsResponse格式,将所述网络请求接口定为所述动态设定网络接口,并记录所述网络请求接口对应的所述Mock文件名为所述最终Mock文件名;
取出所述第二关系表中,所述网络请求接口的所述自定义Mock网速枚举值,以所述自定义Mock网速枚举值为依据选择不同的待定Mock网络参数,用OHHTTPStubs类的requestTime方法来模拟正常网速并使用responsewithError方法来模拟网络异常情况,获取传输速度最快且网络正常的所述待定Mock网络参数,定为所述Mock网络参数;
提取所述动态设定网络接口、所述最终Mock文件名以及所述Mock网络参数。
本发明的有益效果在于:
(1)本发明中利用dispatch_once函数定义网络输出模拟组件,能够避免在出现大量Mock数据时造成内存占用,避免影响正常工作;利用第一关系表能够精准地将网络请求接口和所要转化成Mock接口数据文件名对应起来,而网络请求接口的接口数量有很多,利用第一关系表能够分清哪些接口需要Mock数据;第二关系表的意义在于将网络接口与Mock数据的网速进行对应,可以在Mock数据时设置网速;
与现有技术相比,本发明借助网络输出模拟组件、第一关系表以及第二关系表,能够在获得精准且高效的Mock数据效果的同时,能够模拟Mock数据的网络环境,从而获得较佳的工作效果。
(2)本发明中,网络输出模拟组件初次创建之前,对系统当前状态进行判断,若当前系统处于debug状态,则进行创建步骤,若系统处于非debug状态,则停止创建步骤,返回空对象;
与现有技术相比,本发明能够在开发人员工作时检测系统的状态,避免忘记删除相关Mock代码导致审核被拒的情况出现,保证了开发工作的流畅。
附图说明
图1为本发明实施例中iOS端Mock数据的方法的流程图;
图2为本发明实施例中iOS端Mock数据的设备的结构示意图;
图3为本发明实施例中iOS端Mock数据的系统的结构框图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
参见图1所示,本发明实施例提供一种iOS端Mock数据的方法,该方法包括以下步骤:
S1、建立网络输出模拟组件:利用dispatch_once函数定义网络输出模拟组件,使网络输出模拟组件初次创建后,后续的创建均调用第一次创建结果;
S2、建立关系表:加载第一关系表以及第二关系表,第一关系表保存接口名和Mock文件名之间的对应关系,第二关系表保存接口名和自定义Mock网速枚举值之间的对应关系;
S3、动态对应匹配:网络输出模拟组件模拟网络请求,拦截网络请求并获取网络请求接口的信息,并依据第一关系表以及第二关系表,从多个接口名中获取与网络请求接口相匹配的动态设定网络接口,并结合自定义Mock网速枚举值,获得与动态设定网络接口对应的最终Mock文件名以及Mock网络参数。
本发明中,利用dispatch_once函数定义网络输出模拟组件,能够避免在出现大量Mock数据时造成内存占用,避免影响正常工作,当后续还要利用网络输出模拟组件模拟网络请求并进行iOS端Mock数据工作时,仅需调用第一次创建结果即可;利用第一关系表能够精准地将网络请求接口和所要转化成Mock接口数据文件名对应起来,而网络请求接口的接口数量有很多,利用第一关系表能够分清哪些接口需要Mock数据;第二关系表的意义在于将网络接口与Mock数据的网速进行对应,可以在Mock数据时设置网速;借助网络输出模拟组件、第一关系表以及第二关系表,能够在获得精准且高效的Mock数据效果的同时,能够模拟Mock数据的网络环境,从而获得较佳的工作效果。
其中,网络输出模拟组件获取网络请求接口的信息时,网络请求接口存在于接口名的对应关系,故而并第一关系表,能够从多个接口名中获取动态设定网络接口,再结合第二关系表的自定义Mock网速枚举值,获得与动态设定网络接口对应的Mock网络参数,从而获得与动态设定网络接口对应的最终Mock文件名以及Mock网络参数;
而Mock网络参数不仅包括传输的网速,还包括网络状态信息。
需要说明的是,网络输出模拟组件为本发明的一种组件,其名称不限于该名称,能够达到其作用的单个组件或多个组件的组合体均可以作为网络输出模拟组件,网络输出模拟组件可以用于模拟不同网络环境下的网络请求;
而网络输出模拟组件使用pod的方式引入,具体使用方法为:在iOS项目中使用pod的方式引入网络输出模拟组件,只需要在appdelegate中,调用网络输出模拟组件的setup方法,并在Mock接口的时候使用下面实施方法即可调用存在于主工程的Mock文件;实施方法如下:
setURLString:(NSString*)url
JsonName:(NSString*)json
speedModel:(DYMockDownloadSpeed)speedModel。
另外,自定义Mock网速枚举值,该网速枚举值为工作人员向对应接口根据接口和网速映射关系来设定的,根据这个枚举值,使用switch语法选择不同的Mock数据网络参数,调用OHHTTPStubs类的requestTime方法来模拟正常网速,使用responsewithError方法来模拟网络异常情况。
在本实施例中,拦截网络请求的方式为传统的获取网络请求的方式,诸如使用HttpHttpClient,HttpURLConnection或者使用URL,还可以基于OHHTTPStubs做网络请求拦截,使用pod引入OHHTTPStubs,用来拦截所有的网络请求。
需要说明的是,Mock文件名中存在存储Mock文件的数据地址。
在本实施例中,根据需求,加载第一关系表以及第二关系表可以采用懒加载的方式,以提高设备在数据处理时的工作效率,合理分配内存资源。
进一步地,步骤S1中,网络输出模拟组件初次创建之前,对系统当前状态进行判断,若当前系统处于debug状态,则进行创建步骤,若系统处于非debug状态,则停止创建步骤,返回空对象;
由于开发人员在debug状态下开发使用Mock数据,提交审核时忘记了删除相关Mock代码,导致审核被拒,因此本步骤能够在开发人员工作时检测系统的状态,避免忘记删除相关Mock代码导致审核被拒的情况出现,保证了开发工作的流畅。
进一步地,第二关系表作为对网络异常状态的判断依据,即通过其他方法识别接口名、自定义Mock网速枚举值的对应关系与第二关系表中的对应关系不符。
具体地,步骤S3包括以下步骤:
S301、网络输出模拟组件模拟网络请求,拦截网络请求并获取网络请求接口的信息;
S302、判断第一关系表是否存在网络请求接口相匹配的接口名以及与接口名对应的Mock文件名,若存在则开启网络请求接口的Mock数据工作;
S303、判断第一关系表中的Mock文件名是否存在Mock数据地址,并判断Mock数据地址对应的Mock数据是否存在,若存均存在,则将Mock数据转化为OHHTTPStubsResponse格式,将网络请求接口定为动态设定网络接口,并记录网络请求接口对应的Mock文件名为最终Mock文件名;
S304、取出第二关系表中,网络请求接口的自定义Mock网速枚举值,以自定义Mock网速枚举值为依据选择不同的待定Mock网络参数,用OHHTTPStubs类的requestTime方法来模拟正常网速并使用responsewithError方法来模拟网络异常情况,获取传输速度最快且网络正常的待定Mock网络参数,定为Mock网络参数;
S305、提取动态设定网络接口、最终Mock文件名以及Mock网络参数;
其中,S301中,使用pod引入OHHTTPStubs,用来拦截所有的网络请求时,所用的调用方法如下:
OHHTTPStubs stubRequestsPassingTest:^BOOL(NSURLRequest*_Nonnullrequest)block1()
withStubResponse:^OHHTTPStubsResponse*_Nonnull(NSURLRequest*_Nonnullrequest)block2();
而S305中,所用的调用方法如下:setURLString:(NSString*)url
JsonName:(NSString*)json
speedModel:(DYMockDownloadSpeed)speedModel;
URL指Mock的接口,jsonName表示模拟返回的Mock文件,里面装有Mock数据,speedModel为一个枚举量,枚举Mock数据网速。
需要说明的是,requestTime为一种模拟方法,根据获得的正常的网络参数,模拟高速或低速或其他情况下的网络状况,从而将网络参数以便于查看的方式告知开发工作人员,使得开发工作人员能够了解当前的网络情况;responsewithError为一种模拟方法,当其获得异常状态的网络参数时,能够运算显示网络状况处于异常状态,从而将网络参数以便于查看的方式告知开发工作人员;
另外,OHHTTPStubsResponse为本领域技术人员常用的技术手段,OHHTTPStubsResponse可以指定为文件、图片、data数据、或者json对象,优势在于比较灵活。
对应上述的iOS端Mock数据的方法,本发明实施例还提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可实现上述各实施例中的iOS端Mock数据的方法的步骤。需要说明的是,存储介质包括U盘、移动硬盘、ROM(Read-Only Memory,只读存储器)、RAM(RandomAccess Memory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
另外,参见图2所示,对应上述的iOS端Mock数据的方法,本发明实施例还提供一种iOS端Mock数据的设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,其特征在于:处理器执行计算机程序时实现上述权利要求1至4中任一项方法的步骤。
参见图3所示,本发明实施例还提供一种iOS端Mock数据的系统,该系统包括组件创建模块、关系表创建模块、动态对应匹配模块;
组件创建模块用于:创建网络输出模拟组件,并利用dispatch_once函数定义网络输出模拟组件,使网络输出模拟组件初次创建后,后续的创建均调用第一次创建结果;
关系表创建模块用于:加载第一关系表以及第二关系表,第一关系表保存接口名和Mock文件名之间的对应关系,第二关系表保存接口名和自定义Mock网速枚举值之间的对应关系;
动态对应匹配模块用于:控制所述网络输出模拟组件模拟网络请求,根据网络请求获取网络请求接口的信息,并依据第一关系表以及第二关系表,从多个接口名中获取与网络请求接口相匹配的动态设定网络接口,并结合自定义Mock网速枚举值,获得与动态设定网络接口对应的最终Mock文件名以及Mock网络参数。
进一步地,网络输出模拟组件初次创建之前,组件创建模块对系统当前状态进行判断,若当前系统处于debug状态,则进行创建步骤,若系统处于非debug状态,则停止创建步骤,返回空对象。
进一步地,动态对应匹配模块获取动态设定网络接口、最终Mock文件名以及Mock网络参数的具体流程为:
控制所述网络输出模拟组件模拟网络请求,根据所述网络请求获取网络请求接口的信息;
判断第一关系表是否存在网络请求接口相匹配的接口名以及与接口名对应的Mock文件名,若存在则开启网络请求接口的Mock数据工作;
判断第一关系表中的Mock文件名是否存在Mock数据地址,并判断Mock数据地址对应的Mock数据是否存在,若存均存在,则将Mock数据转化为OHHTTPStubsResponse格式,将网络请求接口定为动态设定网络接口,并记录网络请求接口对应的Mock文件名为最终Mock文件名;
取出第二关系表中,网络请求接口的自定义Mock网速枚举值,以自定义Mock网速枚举值为依据选择不同的待定Mock网络参数,用OHHTTPStubs类的requestTime方法来模拟正常网速并使用responsewithError方法来模拟网络异常情况,获取传输速度最快且网络正常的待定Mock网络参数,定为Mock网络参数;
提取动态设定网络接口、最终Mock文件名以及Mock网络参数。
优选地,第二关系表作为对网络异常状态的判断依据。
需要说明的是:上述实施例提供的系统在实现iOS端Mock数据操作时,仅以上述各功能模块的划分进行举例说明,实际应用中,可根据需要而将上述功能分配由不同功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (10)

1.一种iOS端Mock数据的方法,其特征在于,该方法包括以下步骤:
S1、建立网络输出模拟组件:利用dispatch_once函数定义网络输出模拟组件,使所述网络输出模拟组件初次创建后,后续的创建均调用第一次创建结果;
S2、建立关系表:加载第一关系表以及第二关系表,所述第一关系表保存接口名和Mock文件名之间的对应关系,所述第二关系表保存所述接口名和自定义Mock网速枚举值之间的对应关系;
S3、动态对应匹配:所述网络输出模拟组件模拟网络请求,拦截网络请求并获取网络请求接口的信息,并依据所述第一关系表以及所述第二关系表,从多个所述接口名中获取与网络请求接口相匹配的动态设定网络接口,并结合所述自定义Mock网速枚举值,获得与所述动态设定网络接口对应的最终Mock文件名以及Mock网络参数。
2.如权利要求1所述的iOS端Mock数据的方法,其特征在于:步骤S1中,所述网络输出模拟组件初次创建之前,对系统当前状态进行判断,若当前系统处于debug状态,则进行创建步骤,若系统处于非debug状态,则停止创建步骤,返回空对象。
3.如权利要求1所述的iOS端Mock数据的方法,其特征在于:所述第二关系表作为对网络异常状态的判断依据。
4.如权利要求1所述的iOS端Mock数据的方法,其特征在于:步骤S3包括以下步骤:
S301、所述网络输出模拟组件模拟网络请求,拦截网络请求并获取所述网络请求接口的信息;
S302、判断所述第一关系表是否存在所述网络请求接口相匹配的所述接口名以及与所述接口名对应的所述Mock文件名,若存在则开启所述网络请求接口的Mock数据工作;
S303、判断所述第一关系表中的所述Mock文件名是否存在Mock数据地址,并判断所述Mock数据地址对应的所述Mock数据是否存在,若存均存在,则将所述Mock数据转化为OHHTTPStubsResponse格式,将所述网络请求接口定为所述动态设定网络接口,并记录所述网络请求接口对应的所述Mock文件名为所述最终Mock文件名;
S304、取出所述第二关系表中,所述网络请求接口的所述自定义Mock网速枚举值,以所述自定义Mock网速枚举值为依据选择不同的待定Mock网络参数,用OHHTTPStubs类的requestTime方法来模拟正常网速并使用responsewithError方法来模拟网络异常情况,获取传输速度最快且网络正常的所述待定Mock网络参数,定为所述Mock网络参数;
S305、提取所述动态设定网络接口、所述最终Mock文件名以及所述Mock网络参数。
5.一种存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现上述权利要求1至4中任一项所述方法的步骤。
6.一种iOS端Mock数据的设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现上述权利要求1至4中任一项所述方法的步骤。
7.一种iOS端Mock数据的系统,其特征在于:该系统包括组件创建模块、关系表创建模块、动态对应匹配模块;
所述组件创建模块用于:创建网络输出模拟组件,并利用dispatch_once函数定义网络输出模拟组件,使所述网络输出模拟组件初次创建后,后续的创建均调用第一次创建结果;
所述关系表创建模块用于:加载第一关系表以及第二关系表,所述第一关系表保存接口名和Mock文件名之间的对应关系,所述第二关系表保存所述接口名和自定义Mock网速枚举值之间的对应关系;
所述动态对应匹配模块用于:控制所述网络输出模拟组件模拟网络请求,根据网络请求获取网络请求接口的信息,并依据所述第一关系表以及所述第二关系表,从多个所述接口名中获取与网络请求接口相匹配的动态设定网络接口,并结合所述自定义Mock网速枚举值,获得与所述动态设定网络接口对应的最终Mock文件名以及Mock网络参数。
8.如权利要求7所述的iOS端Mock数据的系统,其特征在于:所述网络输出模拟组件初次创建之前,所述组件创建模块对系统当前状态进行判断,若当前系统处于debug状态,则进行创建步骤,若系统处于非debug状态,则停止创建步骤,返回空对象。
9.如权利要求7所述的iOS端Mock数据的系统,其特征在于:所述第二关系表作为对网络异常状态的判断依据。
10.如权利要求7所述的iOS端Mock数据的系统,其特征在于,所述动态对应匹配模块获取所述动态设定网络接口、所述最终Mock文件名以及所述Mock网络参数的具体流程为:
控制所述网络输出模拟组件模拟网络请求,根据所述网络请求获取所述网络请求接口的信息;
判断所述第一关系表是否存在所述网络请求接口相匹配的所述接口名以及与所述接口名对应的所述Mock文件名,若存在则开启所述网络请求接口的Mock数据工作;
判断所述第一关系表中的所述Mock文件名是否存在Mock数据地址,并判断所述Mock数据地址对应的所述Mock数据是否存在,若存均存在,则将所述Mock数据转化为OHHTTPStubsResponse格式,将所述网络请求接口定为所述动态设定网络接口,并记录所述网络请求接口对应的所述Mock文件名为所述最终Mock文件名;
取出所述第二关系表中,所述网络请求接口的所述自定义Mock网速枚举值,以所述自定义Mock网速枚举值为依据选择不同的待定Mock网络参数,用OHHTTPStubs类的requestTime方法来模拟正常网速并使用responsewithError方法来模拟网络异常情况,获取传输速度最快且网络正常的所述待定Mock网络参数,定为所述Mock网络参数;
提取所述动态设定网络接口、所述最终Mock文件名以及所述Mock网络参数。
CN201710962003.7A 2017-10-16 2017-10-16 一种iOS端Mock数据的方法、存储介质、设备及系统 Active CN107659455B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710962003.7A CN107659455B (zh) 2017-10-16 2017-10-16 一种iOS端Mock数据的方法、存储介质、设备及系统
PCT/CN2018/081316 WO2019075994A1 (zh) 2017-10-16 2018-03-30 一种iOS端Mock数据的方法、存储介质、设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710962003.7A CN107659455B (zh) 2017-10-16 2017-10-16 一种iOS端Mock数据的方法、存储介质、设备及系统

Publications (2)

Publication Number Publication Date
CN107659455A true CN107659455A (zh) 2018-02-02
CN107659455B CN107659455B (zh) 2020-01-03

Family

ID=61118783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710962003.7A Active CN107659455B (zh) 2017-10-16 2017-10-16 一种iOS端Mock数据的方法、存储介质、设备及系统

Country Status (2)

Country Link
CN (1) CN107659455B (zh)
WO (1) WO2019075994A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108345543A (zh) * 2018-03-02 2018-07-31 财付通支付科技有限公司 一种数据处理方法、装置、设备及存储介质
CN108563426A (zh) * 2018-03-06 2018-09-21 北京酷我科技有限公司 一种iOS请求模拟策略
CN109635589A (zh) * 2018-12-25 2019-04-16 成都卫士通信息产业股份有限公司 So文件调用的方法及装置
WO2019075994A1 (zh) * 2017-10-16 2019-04-25 武汉斗鱼网络科技有限公司 一种iOS端Mock数据的方法、存储介质、设备及系统
CN110389751A (zh) * 2019-07-17 2019-10-29 北京海致星图科技有限公司 一种应用于知识图谱的数据接口mock方法
CN110502224A (zh) * 2019-08-22 2019-11-26 深圳前海环融联易信息科技服务有限公司 基于http请求的接口模拟方法、装置和计算机设备
CN114978970A (zh) * 2022-04-07 2022-08-30 上海钧正网络科技有限公司 基于自定义mock平台的数据测试系统、方法、设备及介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7397911B2 (en) * 2001-05-22 2008-07-08 Cisco Technology, Inc. Automation of customer premises equipment provisioning in a telecommunications network
CN102855177A (zh) * 2011-06-30 2013-01-02 阿里巴巴集团控股有限公司 一种单元测试的方法和装置
CN102855178A (zh) * 2011-06-30 2013-01-02 阿里巴巴集团控股有限公司 一种单元测试中生成Mock库的方法和装置
CN103297475A (zh) * 2012-03-01 2013-09-11 阿里巴巴集团控股有限公司 Mock服务系统及Mock服务的处理方法
US20140149966A1 (en) * 2012-11-27 2014-05-29 Inadev Corporation Application, build, integration, and release management system and method
CN104375933A (zh) * 2014-09-18 2015-02-25 广州华多网络科技有限公司 一种单元测试方法和装置
CN105068791A (zh) * 2015-07-15 2015-11-18 贵阳朗玛信息技术股份有限公司 一种实现底层库的方法及装置
CN105335281A (zh) * 2014-07-30 2016-02-17 阿里巴巴集团控股有限公司 一种自动mock外部依赖的方法及装置
CN106201878A (zh) * 2016-07-08 2016-12-07 百度在线网络技术(北京)有限公司 测试程序的执行方法和装置
CN106776313A (zh) * 2016-12-13 2017-05-31 广州唯品会信息科技有限公司 一种模拟服务的方法、装置及集中管理平台
CN107122292A (zh) * 2016-10-21 2017-09-01 北京小度信息科技有限公司 一种模拟服务的方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138448B (zh) * 2014-06-05 2018-06-05 北京畅游天下网络技术有限公司 一种在前端测试页面的方法和装置
CN106528400A (zh) * 2016-09-22 2017-03-22 深圳峰创智诚科技有限公司 Mock测试方法和装置
CN107659455B (zh) * 2017-10-16 2020-01-03 武汉斗鱼网络科技有限公司 一种iOS端Mock数据的方法、存储介质、设备及系统

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7397911B2 (en) * 2001-05-22 2008-07-08 Cisco Technology, Inc. Automation of customer premises equipment provisioning in a telecommunications network
CN102855177A (zh) * 2011-06-30 2013-01-02 阿里巴巴集团控股有限公司 一种单元测试的方法和装置
CN102855178A (zh) * 2011-06-30 2013-01-02 阿里巴巴集团控股有限公司 一种单元测试中生成Mock库的方法和装置
CN103297475A (zh) * 2012-03-01 2013-09-11 阿里巴巴集团控股有限公司 Mock服务系统及Mock服务的处理方法
US20140149966A1 (en) * 2012-11-27 2014-05-29 Inadev Corporation Application, build, integration, and release management system and method
CN105335281A (zh) * 2014-07-30 2016-02-17 阿里巴巴集团控股有限公司 一种自动mock外部依赖的方法及装置
CN104375933A (zh) * 2014-09-18 2015-02-25 广州华多网络科技有限公司 一种单元测试方法和装置
CN105068791A (zh) * 2015-07-15 2015-11-18 贵阳朗玛信息技术股份有限公司 一种实现底层库的方法及装置
CN106201878A (zh) * 2016-07-08 2016-12-07 百度在线网络技术(北京)有限公司 测试程序的执行方法和装置
CN107122292A (zh) * 2016-10-21 2017-09-01 北京小度信息科技有限公司 一种模拟服务的方法及系统
CN106776313A (zh) * 2016-12-13 2017-05-31 广州唯品会信息科技有限公司 一种模拟服务的方法、装置及集中管理平台

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019075994A1 (zh) * 2017-10-16 2019-04-25 武汉斗鱼网络科技有限公司 一种iOS端Mock数据的方法、存储介质、设备及系统
CN108345543B (zh) * 2018-03-02 2021-08-17 财付通支付科技有限公司 一种数据处理方法、装置、设备及存储介质
CN108345543A (zh) * 2018-03-02 2018-07-31 财付通支付科技有限公司 一种数据处理方法、装置、设备及存储介质
CN108563426B (zh) * 2018-03-06 2021-06-11 北京酷我科技有限公司 一种iOS请求模拟方法
CN108563426A (zh) * 2018-03-06 2018-09-21 北京酷我科技有限公司 一种iOS请求模拟策略
CN109635589A (zh) * 2018-12-25 2019-04-16 成都卫士通信息产业股份有限公司 So文件调用的方法及装置
CN109635589B (zh) * 2018-12-25 2022-06-14 成都卫士通信息产业股份有限公司 So文件调用的方法及装置
CN110389751A (zh) * 2019-07-17 2019-10-29 北京海致星图科技有限公司 一种应用于知识图谱的数据接口mock方法
CN110389751B (zh) * 2019-07-17 2022-02-08 北京海致星图科技有限公司 一种应用于知识图谱的数据接口mock方法
CN110502224A (zh) * 2019-08-22 2019-11-26 深圳前海环融联易信息科技服务有限公司 基于http请求的接口模拟方法、装置和计算机设备
CN110502224B (zh) * 2019-08-22 2023-04-28 深圳前海环融联易信息科技服务有限公司 基于http请求的接口模拟方法、装置和计算机设备
CN114978970A (zh) * 2022-04-07 2022-08-30 上海钧正网络科技有限公司 基于自定义mock平台的数据测试系统、方法、设备及介质
CN114978970B (zh) * 2022-04-07 2023-11-24 上海钧正网络科技有限公司 基于自定义mock平台的数据测试系统、方法、设备及介质

Also Published As

Publication number Publication date
WO2019075994A1 (zh) 2019-04-25
CN107659455B (zh) 2020-01-03

Similar Documents

Publication Publication Date Title
CN107659455A (zh) 一种iOS端Mock数据的方法、存储介质、设备及系统
CN104200161B (zh) 一种实现沙箱智能检测文件的方法及其沙箱智能检测系统
CN102789416B (zh) 面向bit软件测试的存储器故障注入方法及其模拟器
US8291387B2 (en) Method and system for testing a software application interfacing with multiple external software applications in a simulated test environment
CN106484610A (zh) 一种Beta测试方法和装置
CN112560244A (zh) 一种基于Docker的虚拟仿真实验系统及方法
CN108459850B (zh) 生成测试脚本的方法、装置及系统
US20210141611A1 (en) System and Method for Automatic Software Application Creation
CN108459954A (zh) 应用程序漏洞检测方法和装置
CN103761189A (zh) 一种测试用例管理方法及系统
CN104268310A (zh) 使用专用图形界面调用uvm验证环境的方法
CN109885474A (zh) 测试用例编辑方法及装置、终端和计算机可读存储介质
CN110287696A (zh) 一种反弹shell进程的检测方法、装置和设备
CN110362490B (zh) 融合iOS与Android移动应用的自动化测试方法及系统
CN106445763A (zh) 配用电大数据平台测试方法和系统
CN108874649A (zh) 自动化测试脚本的生成方法、装置及其计算机设备
CN108628734A (zh) 一种功能程序调试方法和终端
CN113220597B (zh) 测试方法、测试装置、电子设备及存储介质
CN107395456A (zh) 分布式文件系统流直存测试方法及平台
CN111654512B (zh) 一种应用于网络靶场的u盘摆渡攻击环境仿真装置与方法
CN113641628B (zh) 数据质量检测方法、装置、设备及存储介质
CN105930260B (zh) 一种系统可用性测试方法及装置
CN106844203A (zh) 一种模型软件测试结果分析方法及装置
CN105447012B (zh) 一种用于数据库的写入互斥方法及装置
CN107957954A (zh) 一种Linux系统下提高测试数据安全性的方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231109

Address after: Room 606-609, Compound Office Complex Building, No. 757, Dongfeng East Road, Yuexiu District, Guangzhou, Guangdong Province, 510699

Patentee after: China Southern Power Grid Internet Service Co.,Ltd.

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.