基于真实数据自动生成mock数据及自动加载的方法技术

技术编号:35611903 阅读:63 留言:0更新日期:2022-11-16 15:36
本发明专利技术公开了基于真实数据自动生成mock数据及自动加载的方法,解决现有mock代码需要手动编写以及mock数据与程序真实执行时不同的技术问题,所述方法包括配置单元测试所需的mock方法,并对单元测试方法进行注解;使用AOP技术前置拦截,获取单元测试方法注解中配置的所需类方法的信息列表;使用字节码插桩技术对类方法进行方法插桩;对插桩后的类方法进行测试,并使用AOP技术后置拦截,恢复插桩前的方法。本发明专利技术设计科学合理,使用方便,无需进行mock代码的编写,在执行调用一次后会自动生成mock数据,之后的调用即可直接使用由真实数据构建的mock数据。构建的mock数据。构建的mock数据。

【技术实现步骤摘要】
基于真实数据自动生成mock数据及自动加载的方法


[0001]本专利技术属于数据处理
,具体涉及基于真实数据自动生成mock数据及自动加载的方法。

技术介绍

[0002]复杂系统测试,例如java语言单元测试,基于现有数据或者上游数据进行单元测试的情况下,需要手动构建mock数据(模拟数据),构建过程复杂繁琐。这些手动构建的mock模拟数据可能会被随意填写,且在mock(模拟)后需要手动指定mock源进行加载,无法做到无感知的对单元测试目标方法进行调用。
[0003]因此,本专利技术提供了基于真实数据自动生成mock数据及自动加载的方法,以至少解决上述部分技术问题。

技术实现思路

[0004]本专利技术要解决的技术问题是:提供基于真实数据自动生成mock数据及自动加载的方法,以至少解决上述部分技术问题。
[0005]为实现上述目的,本专利技术采用的技术方案如下:基于真实数据自动生成mock数据及自动加载的方法,包括以下步骤:步骤1、配置单元测试所需的mock方法,并对单元测试方法进行注解;步骤2、使用AOP本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.基于真实数据自动生成mock数据及自动加载的方法,其特征在于,包括以下步骤:步骤1、配置单元测试所需的mock方法,并对单元测试方法进行注解;步骤2、使用AOP技术前置拦截,获取单元测试方法注解中配置的所需类方法的信息列表;步骤3、使用字节码插桩技术对类方法进行方法插桩;步骤4、对插桩后的类方法进行测试,并使用AOP技术后置拦截,恢复插桩前的方法。2.根据权利要求1所述的基于真实数据自动生成mock数据及自动加载的方法,其特征在于,所述步骤1中,使用元数据配置文件或代码注解方式对单元测试方法进行注解;注解作用域是方法级别;注解属性值为类名和方法签名的全限定名组合而成的字符串数组。3.根据权利要求2所述的基于真实数据自动生成mock数据及自动加载的方法,其特征在于,所述步骤2具体为:使用AOP的通知参数获取单元测试内部的属性,由单元测试内部的属性获取单元测试方法的注解,提取出注解属性值的字符串数组,遍历字符串数组并逐个解析。4.根据权利要求2所述的基于真实数据自动生成mock数据及自动加载的方法,其特征在于,所述遍历字符串数组并逐个解析的过程包括:获取字符串数组中的mock方法所属类名,在所属类名的后面采用第一分隔符进行切分;在第一分隔符的后面获取mock方法参数类型名称列表,采用括号符号将mock方法参数类型名称列表括起来,并在括号内采用第二分隔符对mock方法参数类型名称列表中mock方法参数类型名称进行切分;将第一分隔符和括号之间的部分获取为mock方法名称。5.根据权利要求3所述的基于真实数据自动生成mock数据及自动加载的方法,其特征在于,所述步骤3具体为:步骤31、使用java反射获取mock方法所属类名,得到原始类对象,将原始类对象存入创建的列表中;步骤32、对原始类对象的方法进行插桩;步骤33、将原始类对象替换为热加载插桩后的类对象。6.根据权利要求5所述的基于真实数据自动生成mock数据及自动加载的方法,其特...

【专利技术属性】
技术研发人员:刘欢张镜
申请(专利权)人:云筑信息科技成都有限公司
类型:发明
国别省市:

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

1