System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及大数据与金融科技领域,尤其涉及基于注解的代码生成方法、装置、计算机设备及存储介质。
技术介绍
1、互联网行业,例如金融行业、医疗行业等具有需求服务内容丰富,功能变化快,迭代快速的特点。对于每个业务系统,例如保险系统、银行系统、交易系统、订单系统医疗系统等的功能迭代更新,都对应于一个完整的开发周期:需求评审->代码开发->测试->发布。其中代码开发和测试占了整个开发周期大半时间。这个阶段需要进行大量代码的编写和测试。而每个开发周期都有大量重复内容,比如持久层代码的单元测试。持久层是一个业务系统的基础组成部分,只有保证持久层代码的正确性才可保证整个功能的正确性,所以持久层的单元测试极其重要。然而,现有的业务系统的持久层的单元测试代码的构建方式,通常是通过开发人员进行手工编写生成的,这样的处理方式需要消耗大量的时间,工作量大,效率低下,且无法保证编写生成的单元测试代码的准确性。
技术实现思路
1、本申请实施例的目的在于提出一种基于注解的代码生成方法、装置、计算机设备及存储介质,以解决现有的业务系统的持久层的单元测试代码的构建方式,通常是通过开发人员进行手工编写生成的,这样的处理方式需要消耗大量的时间,工作量大,效率低下,且无法保证编写生成的单元测试代码的准确性的技术问题。
2、为了解决上述技术问题,本申请实施例提供一种基于注解的代码生成方法,采用了如下所述的技术方案:
3、判断是否接收到用户触发的单元测试代码生成请求;其中,所述单元测试
4、若是,从所述单元测试代码生成请求中解析出所述系统标识;
5、获取与所述系统标识对应的所述目标业务系统的持久层代码;其中,所述持久层代码中预先添加有自定义注解;
6、从所述持久层代码中扫描出与所述自定义注解对应的标注数据,并对所述标注数据进行加载解析处理得到对应的目标参数信息;
7、调用预设的目标代码模板;
8、基于所述目标代码模板与所述目标参数信息生成与所述持久层代码对应的目标单元测试代码。
9、进一步的,所述自定义注解至少包括第一类型注解与第二类型注解;所述从所述持久层代码中扫描出与所述自定义注解对应的标注数据,并对所述标注数据进行加载解析处理得到对应的目标参数信息的步骤,具体包括:
10、从所述持久层代码中扫描出与所述第一类型注解对应的目标类,并对所述目标类进行加载解析处理得到对应的目标类信息;
11、从所述持久层代码中扫描出与所述第二类型注解对应的目标方法,并对所述目标方法进行加载解析处理得到对应的目标方法信息;
12、基于所述目标类信息与所述目标方法信息构建得到所述目标参数信息。
13、进一步的,所述调用预设的目标代码模板的步骤,具体包括:
14、调用预设的模板引擎;
15、从所述模板引擎中提取出与单元测试对应的指定代码模板;
16、将所述指定代码模板作为所述目标代码模板。
17、进一步的,所述基于所述目标代码模板与所述目标参数信息生成与所述持久层代码对应的目标单元测试代码的步骤,具体包括:
18、在所述目标代码模板中确定出与所述目标参数信息对应的参数填充位置;
19、将所述目标参数信息填充至所述参数填充位置内,得到填充后的目标代码模板;
20、将所述填充后的目标代码模板作为所述目标单元测试代码。
21、进一步的,在所述调用预设的目标代码模板的步骤之前,还包括:
22、判断是否接收到指定用户触发的代码模板构建请求;
23、若是,展示预设的代码模板配置页面;
24、接收所述指定用户在所述代码模板配置页面中输入的配置信息;
25、基于预设的模板引擎对所述配置信息进行模板配置处理,生成与所述配置信息对应的代码模板;
26、对所述代码模板进行存储处理。
27、进一步的,在所述基于所述目标代码模板与所述目标参数信息生成与所述持久层代码对应的目标单元测试代码的步骤之后,还包括:
28、获取预设的测试处理策略;
29、获取当前时间,并判断所述当前时间是否处于与所述测试处理策略对应的测试时间点;
30、若是,通过所述目标单元测试代码进行与所述持久层代码对应的单元测试处理,得到对应的单元测试结果;
31、将所述单元测试结果发送至预设的测试人员。
32、进一步的,在所述基于所述目标代码模板与所述目标参数信息生成与所述持久层代码对应的目标单元测试代码的步骤之后,还包括:
33、确定与所述目标单元代码对应的指定存储方式;
34、调用与所述指定存储方式对应的指定存储介质;
35、基于所述指定存储介质对所述目标单元测试代码进行存储处理。
36、为了解决上述技术问题,本申请实施例还提供一种基于注解的代码生成装置,采用了如下所述的技术方案:
37、第一判断模块,用于判断是否接收到用户触发的单元测试代码生成请求;其中,所述单元测试代码生成请求携带目标业务系统的系统标识;
38、解析模块,用于若是,从所述单元测试代码生成请求中解析出所述系统标识;
39、第一获取模块,用于获取与所述系统标识对应的所述目标业务系统的持久层代码;其中,所述持久层代码中预先添加有自定义注解;
40、处理模块,用于从所述持久层代码中扫描出与所述自定义注解对应的标注数据,并对所述标注数据进行加载解析处理得到对应的目标参数信息;
41、第一调用模块,用于调用预设的目标代码模板;
42、第一生成模块,用于基于所述目标代码模板与所述目标参数信息生成与所述持久层代码对应的目标单元测试代码。
43、为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
44、判断是否接收到用户触发的单元测试代码生成请求;其中,所述单元测试代码生成请求携带目标业务系统的系统标识;
45、若是,从所述单元测试代码生成请求中解析出所述系统标识;
46、获取与所述系统标识对应的所述目标业务系统的持久层代码;其中,所述持久层代码中预先添加有自定义注解;
47、从所述持久层代码中扫描出与所述自定义注解对应的标注数据,并对所述标注数据进行加载解析处理得到对应的目标参数信息;
48、调用预设的目标代码模板;
49、基于所述目标代码模板与所述目标参数信息生成与所述持久层代码对应的目标单元测试代码。
50、为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
51、判断是否接收到用户触发的单元测试代码生成请求;其中,所述单元测试代码生成请求携带目标业务系统的本文档来自技高网...
【技术保护点】
1.一种基于注解的代码生成方法,其特征在于,包括下述步骤:
2.根据权利要求1所述的基于注解的代码生成方法,其特征在于,所述自定义注解至少包括第一类型注解与第二类型注解;所述从所述持久层代码中扫描出与所述自定义注解对应的标注数据,并对所述标注数据进行加载解析处理得到对应的目标参数信息的步骤,具体包括:
3.根据权利要求1所述的基于注解的代码生成方法,其特征在于,所述调用预设的目标代码模板的步骤,具体包括:
4.根据权利要求1所述的基于注解的代码生成方法,其特征在于,所述基于所述目标代码模板与所述目标参数信息生成与所述持久层代码对应的目标单元测试代码的步骤,具体包括:
5.根据权利要求1所述的基于注解的代码生成方法,其特征在于,在所述调用预设的目标代码模板的步骤之前,还包括:
6.根据权利要求1所述的基于注解的代码生成方法,其特征在于,在所述基于所述目标代码模板与所述目标参数信息生成与所述持久层代码对应的目标单元测试代码的步骤之后,还包括:
7.根据权利要求1所述的基于注解的代码生成方法,其特征在于,在所述基于
8.一种基于注解的代码生成装置,其特征在于,包括:
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的基于注解的代码生成方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的基于注解的代码生成方法的步骤。
...【技术特征摘要】
1.一种基于注解的代码生成方法,其特征在于,包括下述步骤:
2.根据权利要求1所述的基于注解的代码生成方法,其特征在于,所述自定义注解至少包括第一类型注解与第二类型注解;所述从所述持久层代码中扫描出与所述自定义注解对应的标注数据,并对所述标注数据进行加载解析处理得到对应的目标参数信息的步骤,具体包括:
3.根据权利要求1所述的基于注解的代码生成方法,其特征在于,所述调用预设的目标代码模板的步骤,具体包括:
4.根据权利要求1所述的基于注解的代码生成方法,其特征在于,所述基于所述目标代码模板与所述目标参数信息生成与所述持久层代码对应的目标单元测试代码的步骤,具体包括:
5.根据权利要求1所述的基于注解的代码生成方法,其特征在于,在所述调用预设的目标代码模板的步骤之前,还包括:
6.根据权利要求1所述的基...
【专利技术属性】
技术研发人员:赖峣,
申请(专利权)人:平安健康保险股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。