[发明专利]单元测试方法、装置、测试设备及存储介质在审
申请号: | 202110733564.6 | 申请日: | 2021-06-30 |
公开(公告)号: | CN113448853A | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 欧燊 | 申请(专利权)人: | 东莞市大易产业链服务有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 岳晓萍 |
地址: | 523000 广东省东莞市南城街道周*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 单元测试 方法 装置 测试 设备 存储 介质 | ||
本发明实施例公开了一种单元测试方法、装置、测试设备及存储介质。该方法包括:根据待测试单元的测试类的注解配置,确定模拟对象特征集合;根据所述模拟对象特征集合遍历Spring注册的原始对象定义,以确定需要模拟的原始对象定义;对于所述需要模拟的原始对象定义,创建相应的模拟对象定义,并利用所述模拟对象定义替换所述需要模拟的原始对象定义;通过Spring将所述模拟对象定义的实例注入所述测试类,以供对所述待测试单元进行测试。上述技术方案在执行测试方法之前,对符合模拟对象特征的原始对象指定依赖,替换真实依赖对象的实例创建和调用,便于对测试过程中Mock的编写和执行,提高对模拟对象实例注入的支持度及扩展性。
技术领域
本发明实施例涉及测试技术领域,尤其涉及一种单元测试方法、装置、测试设备及存储介质。
背景技术
单元测试(Unit Testing)是指对软件中的最小可测单元进行检查和验证。在单元测试过程中通常使用Spring框架是一个开放源代码的应用程序框架,是针对对象(Bean)的生命周期进行管理的轻量级容器。Spring Boot通过简化配置来进一步简化Spring应用的整个搭建和开发过程。Spring-Boot-Test中的Mockito支持,用于实现模拟(Mock)对象在Spring容器的依赖注入。现有技术对Mock对象注入的支持度及扩展性差,对于一些框架在Java运行时直接注册的对象(Bean)定义(例如Dubbo)无法适用。
发明内容
本发明实施例提供了一种单元测试方法、装置、测试设备及存储介质,以简化测试的模拟注入过程,提高对模拟对象实例注入的支持度及扩展性。
第一方面,本发明实施例提供了一种单元测试方法,包括:
根据待测试单元的测试类的注解配置,确定模拟对象特征集合;
根据所述模拟对象特征集合遍历Spring注册的原始对象定义,以确定需要模拟的原始对象定义;
对于所述需要模拟的原始对象定义,创建相应的模拟对象定义,并利用所述模拟对象定义替换所述需要模拟的原始对象定义;
通过Spring将所述模拟对象定义的实例注入所述测试类,以供对所述待测试单元进行测试。
进一步的,该方法还包括:
对于不需要模拟的原始对象定义,创建相应的对象实例;
通过Spring将各所述对象实例注入所述测试类,以供对所述待测试单元进行测试。
进一步的,在通过Spring将各所述对象实例注入所述测试类之前,还包括:
根据待测试单元的测试类的注解配置,确定监控对象特征集合;
根据所述监控对象特征集合确定需要监控的对象实例;
对于所述需要监控的对象实例,返回监控代理对象。
进一步的,对于所述需要监控的对象实例,返回监控代理对象,包括:
对于所述需要监控的对象实例,根据对象类型获取目标类类型;
基于所述目标类类型创建监控代理对象,所述监控代理对象引用所述需要监控的对象实例。
进一步的,对于所述需要监控的对象实例,根据对象类型获取目标类类型,包括:
若所述需要监控的对象实例被代码生成库(Code Generation Library,CGLIB)代理,则将所述需要监控的对象实例的对象类型所属的原始对象类型作为所述目标类类型;
若所述需要监控的对象实例为JDK(Java Development Kit)动态代理对象,则将所述需要监控的对象实例的原始对象类型作为所述目标类类型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东莞市大易产业链服务有限公司,未经东莞市大易产业链服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110733564.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于光学瞄准装置的双焦平面分划板
- 下一篇:一种一体化充电站