基于基础底座的单元测试用例快速开发方法与流程

文档序号:37145015发布日期:2024-02-26 16:57阅读:13来源:国知局
基于基础底座的单元测试用例快速开发方法与流程

本发明属于软件单元测试用例领域,尤其涉及一种基于基础底座的单元测试用例快速开发方法。


背景技术:

1、随着互联网的进一步发展,软件项目的复杂性和规模不断壮大,这引发了软件开发和测试流程的冗长,且使得研发针对业务全流程的验证周期过长,难以满足市场对快速交付的需求。为解决当前业务验证周期过长的问题,研发需要引入单元测试用例的开发策略。

2、单元测试用例(unit test case)主要用于测试软件某个特定模块或单元的功能和行为。单元测试用例是软件测试中最基础和最小的测试单位,通常由开发人员编写和执行,用于验证模块或单元是否按照设计工作,并处理错误和异常。

3、然而,传统的单元测试用例开发方法存在不少顽固问题,例如需要研发人员耗费大量精力去对接各系统及使用中间件服务,这不仅降低了开发效率,还使得可维护性大幅度降低,并且自动化程度得不到提升。这不仅没有解决问题,反而进一步增加了研发资源的投入,目前需要一周左右才能将一个版本的需求对应的单元测试用例写完,因此,亟需一种简化和优化单元测试用例开发的方法,这种方法应能提高开发效率和维护性,同时还应能实现自动化测试,从而缩短业务验证周期。


技术实现思路

1、本发明的目的在于,提供一种基于基础底座的单元测试用例快速开发方法。本发明具有能减少研发人员工作量、保证生成的单元测试用例具有较高质量、保证生成的单元测试用例可维护性和极大缩短研发测试验证环节时间的优点。

2、本发明的技术方案:基于基础底座的单元测试用例快速开发方法,使用基础底座开发单元测试用例,所述基础底座包括beanmock模块和datamock模块,beanmock模块用于模拟spring容器中的bean注入,datamock模块用于模拟中间件的数据构造流程。

3、前述的基于基础底座的单元测试用例快速开发方法中,所述beanmock模块通过beaninejctmanager来管理三类对象,三类对象分别为apimocker、中间件mocker和简单对象beanmocker。

4、前述的基于基础底座的单元测试用例快速开发方法中,apimocker将拦截到的第三方接口的方法调用,并将其转发到模拟的实现上,在拦截器模式下,允许开发者在调用第三方接口之前和之后添加自定义逻辑,可以在不修改原有代码的情况下,通过配置或注解的方式,将调用第三方接口的方法重定向到模拟实现上,以便进行单元测试、集成测试或开发调试。

5、前述的基于基础底座的单元测试用例快速开发方法中,通过中间件mocker在实际中间件尚未完成或无法接入的情况下,进行应用程序的开发和测试。

6、前述的基于基础底座的单元测试用例快速开发方法中,简单对象beanmocker通过java反射机制允许我们在运行时获取类的属性、方法和构造方法等信息,并且可以动态地创建和操作对象,beanmocker利用该机制模拟对象中创建相应的属性和方法,实现对真实javabean对象的模拟。

7、前述的基于基础底座的单元测试用例快速开发方法中,beanmock模块包括datamockermanager模块、datamockergrammar模块、datamockerroute模块、datamockfactory模块和datamockerdestroy模块。

8、前述的基于基础底座的单元测试用例快速开发方法中,datamockermanager模块将各个中间件的数据模拟对象进行集中管理,并提供一个统一的入口,方便调用者获取和使用,以简化调用者的代码,提高数据模拟的效率和灵活性。

9、前述的基于基础底座的单元测试用例快速开发方法中,datamockergrammar将不同的中间件数据对象模拟语法进行标准化处理,使得数据模拟更加一致和通用,以降低数据模拟的复杂度,提高数据模拟的可维护性和可扩展性。

10、前述的基于基础底座的单元测试用例快速开发方法中,datamockerroute模块是一个提供不同数据对象路由的类,可以根据预定义的语法规则,将请求路由到相应的数据模拟对象上。

11、前述的基于基础底座的单元测试用例快速开发方法中,datamockfactory模块是一个数据模拟工厂类,针对mysql、redis、elasticsearch和mongo这四类中间件,提供相应的数据模拟对象创建和管理功能;datamockerdestroy模块是一个数据对象销毁类,在单元测试用例执行完成后,将mock处理的数据对象进行销毁,以确保每个单元测试用例使用的数据对象都是新创建的。

12、与现有技术相比,本发明具有如下优点:

13、1)、使用特定的基础底座大大减少研发人员编写单元测试用例的工作量,同时保证生成的单元测试用例具有较高的质量和可维护性。

14、2)、基础底座可以快速集成到整个研发的cicd(持续集成和持续部署)流程中,大大缩短了研发的测试验证环节时间。



技术特征:

1.基于基础底座的单元测试用例快速开发方法,其特征在于:使用基础底座开发单元测试用例,所述基础底座包括beanmock模块和datamock模块,beanmock模块用于模拟spring容器中的bean注入,datamock模块用于模拟中间件的数据构造流程。

2.根据权利要求1所述的基于基础底座的单元测试用例快速开发方法,其特征在于:所述beanmock模块通过beaninejctmanager来管理三类对象,三类对象分别为apimocker、中间件mocker和简单对象beanmocker。

3.根据权利要求2所述的基于基础底座的单元测试用例快速开发方法,其特征在于:apimocker将拦截到的第三方接口的方法调用,并将其转发到模拟的实现上,在拦截器模式下,允许开发者在调用第三方接口之前和之后添加自定义逻辑,可以在不修改原有代码的情况下,通过配置或注解的方式,将调用第三方接口的方法重定向到模拟实现上,以便进行单元测试、集成测试或开发调试。

4.根据权利要求2所述的基于基础底座的单元测试用例快速开发方法,其特征在于:通过中间件mocker在实际中间件尚未完成或无法接入的情况下,进行应用程序的开发和测试。

5.根据权利要求1所述的基于基础底座的单元测试用例快速开发方法,其特征在于:简单对象beanmocker通过java反射机制允许我们在运行时获取类的属性、方法和构造方法等信息,并且可以动态地创建和操作对象,beanmocker利用该机制模拟对象中创建相应的属性和方法,实现对真实java bean对象的模拟。

6.根据权利要求1所述的基于基础底座的单元测试用例快速开发方法,其特征在于:beanmock模块包括datamockermanager模块、datamockergrammar模块、datamockerroute模块、datamockfactory模块和datamockerdestroy模块。

7.根据权利要求6所述的基于基础底座的单元测试用例快速开发方法,其特征在于:datamockermanager模块将各个中间件的数据模拟对象进行集中管理,并提供一个统一的入口,方便调用者获取和使用,以简化调用者的代码,提高数据模拟的效率和灵活性。

8.根据权利要求6所述的基于基础底座的单元测试用例快速开发方法,其特征在于:datamockergrammar将不同的中间件数据对象模拟语法进行标准化处理,使得数据模拟更加一致和通用,以降低数据模拟的复杂度,提高数据模拟的可维护性和可扩展性。

9.根据权利要求6所述的基于基础底座的单元测试用例快速开发方法,其特征在于:datamockerroute模块是一个提供不同数据对象路由的类,可以根据预定义的语法规则,将请求路由到相应的数据模拟对象上。

10.根据权利要求6所述的基于基础底座的单元测试用例快速开发方法,其特征在于:datamockfactory模块是一个数据模拟工厂类,针对mysql、redis、elasticsearch和mongo这四类中间件,提供相应的数据模拟对象创建和管理功能;datamockerdestroy模块是一个数据对象销毁类,在单元测试用例执行完成后,将mock处理的数据对象进行销毁,以确保每个单元测试用例使用的数据对象都是新创建的。


技术总结
本发明公开了一种基于基础底座的单元测试用例快速开发方法,使用基础底座开发单元测试用例,所述基础底座包括BeanMock模块和DataMock模块,BeanMock模块用于模拟Spring容器中的Bean注入,DataMock模块用于模拟中间件的数据构造流程;所述BeanMock模块通过BeanInejctManager来管理三类对象,三类对象分别为APIMocker、中间件Mocker和简单对象BeanMocker。本发明具有能减少研发人员工作量、保证生成的单元测试用例具有较高质量、保证生成的单元测试用例可维护性和极大缩短研发测试验证环节时间的优点。

技术研发人员:危明,周兵兵,陈琛
受保护的技术使用者:易视腾科技股份有限公司
技术研发日:
技术公布日:2024/2/25
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1