一种通过XCTest实现framework单元测试流程化的方法及系统技术方案

技术编号:38879552 阅读:15 留言:0更新日期:2023-09-22 14:11
本发明专利技术提供了一种通过XCTest实现framework单元测试流程化的方法及系统,该方法为:步骤S1、生成或者提前准备一个用于单元测试的framework库工程;步骤S2、在工程中,新建一个单元测试target,并选择iOS中的target类型为Unit Testing Bundle,配置相应的target信息;步骤S3、配置新建的单元测试target环境,其环境配置与实际将framework库接入app工程时的环境相同;步骤S4、创建单元测试target时默认生成Tests文件,在Tests文件中引入想要测试的类文件;步骤S5、在引入类文件之后,在setup方法中,补充环境参数的设置;并补充其余的Test方法;步骤S6、补充对应的iOS提供的类XCTestExpectation;步骤S7、使用快捷键实现测试用例的运行,并等待输出测试结果;本发明专利技术能通过XCTest框架补充单元测试内容,提高整体开发效率。整体开发效率。整体开发效率。

【技术实现步骤摘要】
一种通过XCTest实现framework单元测试流程化的方法及系统


[0001]本专利技术涉及应用开发
,特别是一种通过XCTest实现framework单元测试流程化的方法及系统。

技术介绍

[0002]XCTest是苹果公司提供的iOS的单元测试框架,开发者可以使用XCTest框架为Xcode项目编写单元测试,与Xcode的测试工作流程无缝集成。iOS是由苹果公司开发的移动操作系统。
[0003]XCTest可以实现测试断言在代码执行期间满足了某些条件,如果不满足这些条件,则记录测试失败。测试还可以度量代码块的性能以检查性能退化,并且可以与应用程序的UI交互以验证用户交互情况。
[0004]Framework库是指在应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中的这种库里。
[0005]在framework开发过程中,每次修改代码都需要生成新的framework然后导入到实际的app中进行验证,耗时耗力。

技术实现思路

[0006]为克服上述问题,本专利技术的目的是提供一种通过XCTest实现framework单元测试流程化的方法,该方法是实现一个单元测试流程化的处理,能直接通过流程化的单元测试验证功能进行准确测试。
[0007]本专利技术采用以下方案实现:一种通过XCTest实现framework单元测试流程化的方法,所示方法包括如下步骤:步骤S1、生成或者提前准备一个用于单元测试的framework库工程;
[0008]步骤S2、在工程中,新建一个单元测试target,并选择iOS中的target类型为Unit Testing Bundle,配置相应的target信息;
[0009]步骤S3、配置新建的单元测试target环境,其环境配置与实际将framework库接入app工程时的环境相同;
[0010]步骤S4、在步骤S2中创建单元测试target时默认生成Tests文件,在Tests文件中引入想要测试的类文件;
[0011]步骤S5、在引入类文件之后,在setup方法中,补充环境参数的设置;并补充其余的Test方法,其余的Test方法包括:初始化的Test方法、登录的Test方法与获取用户信息的Test方法;
[0012]步骤S6、补充对应的iOS提供的类XCTestExpectation,类XCTestExpectation是用作异步调用时保证方法调用的顺序;
[0013]步骤S7、使用快捷键实现测试用例的运行,并等待输出测试结果。
[0014]进一步的,所述步骤S3进一步具体为:配置新建的单元测试target环境时,需要引入相应的系统库与第三方依赖库,并设置单元测试target中的search Framework Path与search Library Path属性,search Framework Path与search Library Path属性设置后就能找到需要的系统库与第三方依赖库。
[0015]进一步的,所述步骤S4进一步具体为:创建单元测试target会默认创建对应文件夹并生成Test.m文件,通过#import命令引入想要测试的类文件;Test.m文件在生成时,默认存在setup方法,所述setup方法是运行所有测试用例前最早调用的内容。
[0016]进一步的,在步骤S6中,要进行登录操作,为了保证登录先进行初始化,需要创建初始化的Expectation对象,在登录接口中判断是否初始化过,如果没有则调用初始化接口,初始化接口在调用网络请求之后,实现Expectation的创建,并在网络请求结束后,调用Expectation对象的fulfill方法,结束后,就会继续走登录接口的后续流程。
[0017]进一步的,所述步骤S7进一步具体为:使用快捷键command+U实现测试用例的运行,并等待输出测试结果,如果存在测试不通过的情况,则修改调整内容,直到测试全部通过为止。
[0018]本专利技术还提供了一种通过XCTest实现framework单元测试流程化的系统,所述系统包括:framework工程准备模块、单元测试target生成模块、单元测试target环境配置模块、单元测试头文件引入模块、单元测试环境参数设置模块、单元测试异步流程补充模块、单元测试运行模块;
[0019]所述framework工程准备模块,生成或者提前准备一个用于单元测试的framework库工程;
[0020]所述单元测试target生成模块,在工程中,新建一个单元测试target,并选择iOS中的target类型为Unit Testing Bundle,配置相应的target信息;
[0021]所述单元测试target环境配置模块,配置新建的单元测试target环境,其环境配置与实际将framework库接入app工程时的环境相同;
[0022]所述单元测试头文件引入模块,在单元测试target生成模块中创建单元测试target时默认生成Tests文件,在Tests文件中引入想要测试的类文件;
[0023]所述单元测试环境参数设置模块,在引入类文件之后,在setup方法中,补充环境参数的设置;并补充其余的Test方法,其余的Test方法包括:初始化的Test方法、登录的Test方法与获取用户信息的Test方法;
[0024]所述单元测试异步流程补充模块,补充对应的iOS提供的类XCTestExpectation,类XCTestExpectation是用作异步调用时保证方法调用的顺序;
[0025]所述单元测试运行模块,使用快捷键实现测试用例的运行,并等待输出测试结果。
[0026]进一步的,所述单元测试target环境配置模块进一步具体为:配置新建的单元测试target环境时,需要引入相应的系统库与第三方依赖库,并设置单元测试target中的search Framework Path与search Library Path属性,search Framework Path与search Library Path属性设置后就能找到需要的系统库与第三方依赖库。
[0027]进一步的,所述单元测试头文件引入模块进一步具体为:创建单元测试target会默认创建对应文件夹并生成Test.m文件,通过#import命令引入想要测试的类文件;Test.m
文件在生成时,默认存在setup方法,所述setup方法是运行所有测试用例前最早调用的内容。
[0028]进一步的,在单元测试异步流程补充模块中,要进行登录操作,为了保证登录先进行初始化,需要创建初始化的Expectation对象,在登录接口中判断是否初始化过,如果没有则调用初始化接口,初始化接口在调用网络请求之后,实现Expectation的创建,并在网络请求结束后,调用Expectation对象的ful本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通过XCTest实现framework单元测试流程化的方法,其特征在于:所示方法包括如下步骤:步骤S1、生成或者提前准备一个用于单元测试的framework库工程;步骤S2、在工程中,新建一个单元测试target,并选择iOS中的target类型为Unit Testing Bundle,配置相应的target信息;步骤S3、配置新建的单元测试target环境,其环境配置与实际将framework库接入app工程时的环境相同;步骤S4、在步骤S2中创建单元测试target时默认生成Tests文件,在Tests文件中引入想要测试的类文件;步骤S5、在引入类文件之后,在setup方法中,补充环境参数的设置;并补充其余的Test方法,其余的Test方法包括:初始化的Test方法、登录的Test方法与获取用户信息的Test方法;步骤S6、补充对应的iOS提供的类XCTestExpectation,类XCTestExpectation是用作异步调用时保证方法调用的顺序;步骤S7、使用快捷键实现测试用例的运行,并等待输出测试结果。2.根据权利要求1所述的一种通过XCTest实现framework单元测试流程化的方法,其特征在于:所述步骤S3进一步具体为:配置新建的单元测试target环境时,需要引入相应的系统库与第三方依赖库,并设置单元测试target中的search Framework Path与search Library Path属性,search Framework Path与search Library Path属性设置后就能找到需要的系统库与第三方依赖库。3.根据权利要求1所述的一种通过XCTest实现framework单元测试流程化的方法,其特征在于:所述步骤S4进一步具体为:创建单元测试target会默认创建对应文件夹并生成Test.m文件,通过#import命令引入想要测试的类文件;Test.m文件在生成时,默认存在setup方法,所述setup方法是运行所有测试用例前最早调用的内容。4.根据权利要求1所述的一种通过XCTest实现framework单元测试流程化的方法,其特征在于:在步骤S6中,要进行登录操作,为了保证登录先进行初始化,需要创建初始化的Expectation对象,在登录接口中判断是否初始化过,如果没有则调用初始化接口,初始化接口在调用网络请求之后,实现Expectation的创建,并在网络请求结束后,调用Expectation对象的fulfill方法,结束后,就会继续走登录接口的后续流程。5.根据权利要求1所述的一种通过XCTest实现framework单元测试流程化的方法,其特征在于:所述步骤S7进一步具体为:使用快捷键command+U实现测试用例的运行,并等待输出测试结果,如果存在测试不通过的情况,则修改调整内容,直到测试全部通过为止。6.一种通过XCTest实现framework单元测试流程化的系统,其特征在于:所述系统包括:framework工程准备模块、单元测试target生成模块、单元测试target环境配置模块、单元测试头文件引入模块、单元测...

【专利技术属性】
技术研发人员:刘德建陈晋添李佳
申请(专利权)人:福建天晴在线互动科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1