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

文档序号:35496641发布日期:2023-09-19 23:21阅读:62来源:国知局
一种通过XCTest实现framework单元测试流程化的方法及系统与流程

本发明涉及应用开发,特别是一种通过xctest实现framework单元测试流程化的方法及系统。


背景技术:

1、xctest是苹果公司提供的ios的单元测试框架,开发者可以使用xctest框架为xcode项目编写单元测试,与xcode的测试工作流程无缝集成。ios是由苹果公司开发的移动操作系统。

2、xctest可以实现测试断言在代码执行期间满足了某些条件,如果不满足这些条件,则记录测试失败。测试还可以度量代码块的性能以检查性能退化,并且可以与应用程序的ui交互以验证用户交互情况。

3、framework库是指在应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中的这种库里。

4、在framework开发过程中,每次修改代码都需要生成新的framework然后导入到实际的app中进行验证,耗时耗力。


技术实现思路

1、为克服上述问题,本发明的目的是提供一种通过xctest实现framework单元测试流程化的方法,该方法是实现一个单元测试流程化的处理,能直接通过流程化的单元测试验证功能进行准确测试。

2、本发明采用以下方案实现:一种通过xctest实现framework单元测试流程化的方法,所示方法包括如下步骤:步骤s1、生成或者提前准备一个用于单元测试的framework库工程;

3、步骤s2、在工程中,新建一个单元测试target,并选择ios中的target类型为unittesting bundle,配置相应的target信息;

4、步骤s3、配置新建的单元测试target环境,其环境配置与实际将framework库接入app工程时的环境相同;

5、步骤s4、在步骤s2中创建单元测试target时默认生成tests文件,在tests文件中引入想要测试的类文件;

6、步骤s5、在引入类文件之后,在setup方法中,补充环境参数的设置;并补充其余的test方法,其余的test方法包括:初始化的test方法、登录的test方法与获取用户信息的test方法;

7、步骤s6、补充对应的ios提供的类xctestexpectation,类xctestexpectation是用作异步调用时保证方法调用的顺序;

8、步骤s7、使用快捷键实现测试用例的运行,并等待输出测试结果。

9、进一步的,所述步骤s3进一步具体为:配置新建的单元测试target环境时,需要引入相应的系统库与第三方依赖库,并设置单元测试target中的search framework path与search library path属性,search framework path与search library path属性设置后就能找到需要的系统库与第三方依赖库。

10、进一步的,所述步骤s4进一步具体为:创建单元测试target会默认创建对应文件夹并生成test.m文件,通过#import命令引入想要测试的类文件;test.m文件在生成时,默认存在setup方法,所述setup方法是运行所有测试用例前最早调用的内容。

11、进一步的,在步骤s6中,要进行登录操作,为了保证登录先进行初始化,需要创建初始化的expectation对象,在登录接口中判断是否初始化过,如果没有则调用初始化接口,初始化接口在调用网络请求之后,实现expectation的创建,并在网络请求结束后,调用expectation对象的fulfill方法,结束后,就会继续走登录接口的后续流程。

12、进一步的,所述步骤s7进一步具体为:使用快捷键command+u实现测试用例的运行,并等待输出测试结果,如果存在测试不通过的情况,则修改调整内容,直到测试全部通过为止。

13、本发明还提供了一种通过xctest实现framework单元测试流程化的系统,所述系统包括:framework工程准备模块、单元测试target生成模块、单元测试target环境配置模块、单元测试头文件引入模块、单元测试环境参数设置模块、单元测试异步流程补充模块、单元测试运行模块;

14、所述framework工程准备模块,生成或者提前准备一个用于单元测试的framework库工程;

15、所述单元测试target生成模块,在工程中,新建一个单元测试target,并选择ios中的target类型为unit testing bundle,配置相应的target信息;

16、所述单元测试target环境配置模块,配置新建的单元测试target环境,其环境配置与实际将framework库接入app工程时的环境相同;

17、所述单元测试头文件引入模块,在单元测试target生成模块中创建单元测试target时默认生成tests文件,在tests文件中引入想要测试的类文件;

18、所述单元测试环境参数设置模块,在引入类文件之后,在setup方法中,补充环境参数的设置;并补充其余的test方法,其余的test方法包括:初始化的test方法、登录的test方法与获取用户信息的test方法;

19、所述单元测试异步流程补充模块,补充对应的ios提供的类xctestexpectation,类xctestexpectation是用作异步调用时保证方法调用的顺序;

20、所述单元测试运行模块,使用快捷键实现测试用例的运行,并等待输出测试结果。

21、进一步的,所述单元测试target环境配置模块进一步具体为:配置新建的单元测试target环境时,需要引入相应的系统库与第三方依赖库,并设置单元测试target中的search framework path与search library path属性,search framework path与searchlibrary path属性设置后就能找到需要的系统库与第三方依赖库。

22、进一步的,所述单元测试头文件引入模块进一步具体为:创建单元测试target会默认创建对应文件夹并生成test.m文件,通过#import命令引入想要测试的类文件;test.m文件在生成时,默认存在setup方法,所述setup方法是运行所有测试用例前最早调用的内容。

23、进一步的,在单元测试异步流程补充模块中,要进行登录操作,为了保证登录先进行初始化,需要创建初始化的expectation对象,在登录接口中判断是否初始化过,如果没有则调用初始化接口,初始化接口在调用网络请求之后,实现expectation的创建,并在网络请求结束后,调用expectation对象的fulfill方法,结束后,就会继续走登录接口的后续流程。

24、进一步的,所述单元测试运行模块进一步具体为:使用快捷键command+u实现测试用例的运行,并等待输出测试结果,如果存在测试不通过的情况,则修改调整内容,直到测试全部通过为止。

25、本发明的有益效果在于:在framework开发过程中,如果每次调整都需要生成新的framework然后导入到实际的app中进行验证,耗时耗力。本发明则让用户在修改framework库之后,直接通过流程化的单元测试验证功能进行准确测试。在开发对应的framework时,通过xctest框架补充单元测试内容,提高整体开发效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1