[发明专利]一种单元测试代码的生成方法、单元测试方法和装置在审
申请号: | 202010197189.3 | 申请日: | 2020-03-19 |
公开(公告)号: | CN113495826A | 公开(公告)日: | 2021-10-12 |
发明(设计)人: | 陈浩翔 | 申请(专利权)人: | 浙江大搜车软件技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 李威 |
地址: | 310000 浙江省杭州市余*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 单元测试 代码 生成 方法 装置 | ||
1.一种单元测试代码的生成方法,其特征在于,包括:
从待测试项目中读取目标测试源码;
通过源码解析器对所述目标测试源码进行解析,获得源码特征信息;
获取单元测试模板文件,所述单元测试模板文件包含用于生成单元测试代码的基础信息;
将所述源码特征信息注入所述单元测试模板文件中,并根据所述源码特征信息和所述单元测试模板文件中定义的用于生成单元测试代码的基础信息生成针对所述目标测试源码的单元测试代码。
2.根据权利要求1所述的方法,其特征在于,所述源码特征信息包括类名、属性和方法。
3.根据权利要求1所述的方法,其特征在于,所述通过源码解析器对所述目标测试源码进行解析,获得源码特征信息,包括:
在所述目标测试源码为java源码的情况下,通过QDox解析器对所述目标测试源码进行解析,获得源码特征信息;
所述将所述源码特征信息注入所述单元测试模板文件中,包括:通过Freemarker模板引擎将所述源码特征信息注入所述单元测试模板文件中。
4.根据权利要求1所述的方法,其特征在于,将所述源码特征信息注入所述单元测试模板文件中,包括:
对源码特征信息进行构造,生成构造后的源码特征信息,使构造后的源码特征信息符合单元测试模板文件定义的信息格式;
将构造后的源码特征信息注入所述单元测试模板文件中。
5.一种单元测试方法,其特征在于,包括:
获取针对目标测试源码的单元测试代码,所述单元测试代码由权利要求1-4任一项所述的方法而生成;
获取针对所述目标测试源码的单元测试数据;
根据所述单元测试代码和所述单元测试数据对所述目标测试源码进行单元测试。
6.根据权利要求5所述的方法,其特征在于,所述获取针对所述目标测试源码的单元测试数据,包括:
根据预先配置的对应于所述目标测试源码的接口包名或者类名,从所述接口收集测试数据样本;
基于所述测试数据样本构造单元测试数据。
7.根据权利要求6所述的方法,其特征在于,还包括:
通过将测试数据样本输入机器学习模型中,获得对应的运行结果;
根据所述测试数据样本和所述运行结果对所述机器学习模型进行优化。
8.一种单元测试代码的生成装置,其特征在于,包括:
读取单元,用于从待测试项目中读取目标测试源码;
解析单元,用于通过源码解析器对所述目标测试源码进行解析,获得源码特征信息;
获取模板文件单元,用于获取单元测试模板文件,所述单元测试模板文件包含用于生成单元测试代码的基础信息;
生成单元,用于将所述源码特征信息注入所述单元测试模板文件中,并根据所述源码特征信息和所述单元测试模板文件中定义的用于生成单元测试代码的基础信息生成针对所述目标测试源码的单元测试代码。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1-7中任一项所述方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大搜车软件技术有限公司,未经浙江大搜车软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010197189.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:电子设备、无线通信方法和计算机可读存储介质
- 下一篇:显示装置