[发明专利]一种代码测试处理方法、装置、电子设备及存储介质在审
申请号: | 202111014666.9 | 申请日: | 2021-08-31 |
公开(公告)号: | CN113867704A | 公开(公告)日: | 2021-12-31 |
发明(设计)人: | 胡芸菘 | 申请(专利权)人: | 五八有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;G06F8/73;G06F11/36 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 吕俊秀 |
地址: | 300450 天津市滨海新区经济技术开*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 测试 处理 方法 装置 电子设备 存储 介质 | ||
1.一种代码测试处理方法,其特征在于,包括:
在待测试的目标模块的源代码中引入自定义注解,以及用于处理所述自定义注解的注解处理器,并在所述目标模块中需要测试的目标方法上添加所述自定义注解,以通过所述自定义注解标注所述目标方法;
编译所述目标模块所属工程,并在所述目标模块的编译过程中,通过所述注解处理器解析所述自定义注解,得到待测试的目标代码;
在所述工程启动时,自动执行所述目标代码,并返回所述目标代码的执行结果,得到所述目标代码的测试结果;
其中,所述自定义注解为可作用于类方法上,用于标记待测试类方法的注解,所述目标模块为所述工程中的任一代码模块。
2.根据权利要求1所述的方法,其特征在于,在所述目标模块的编译过程中,通过所述注解处理器解析所述自定义注解,得到待测试的目标代码的步骤,包括:
在所述目标模块的编译过程中,通过所述注解处理器,执行以下步骤,以解析所述自定义注解,得到待测试的目标代码:
S1,初始化所述注解处理器;
S2,获取所述目标模块中所有通过所述注解处理器处理的自定义注解;
S3,获取所有被所述自定义注解标注的方法;
S4,通过反射调用被所述自定义注解标注的方法,生成所述目标代码。
3.根据权利要求1所述的方法,其特征在于,在所述编译所述目标模块所属工程,并在所述目标模块的编译过程中,通过所述注解处理器解析所述自定义注解,得到待测试的目标代码的步骤之前,所述方法还包括:
获取待测试的目标源代码,并在所述目标方法内录入所述目标源代码,以在所述目标模块的编译过程中,通过所述注解处理器解析所述自定义注解,得到所述目标代码。
4.根据权利要求1所述的方法,其特征在于,在待测试的目标模块的源代码中引入自定义注解,以及用于处理所述自定义注解的注解处理器,并在所述目标模块中需要测试的目标方法上添加所述自定义注解的步骤之前,还包括:
在所述工程中构建所述自定义注解,以及用于处理所述自定义注解的注解处理器。
5.根据权利要求1-6中任一项所述的方法,其特征在于,所述在所述工程启动时,自动执行所述目标代码,并返回所述目标代码的执行结果的步骤,包括:
在所述工程启动时,在所述工程启动的入口调用目标方法,以自动执行所述目标代码,并返回所述目标代码的执行结果;
其中,所述目标方法用于获取被所述自定义注解标记的方法,并通过反射执行所述方法,完成所述目标代码的自动测试。
6.根据所述1-4中任一项所述的方法,其特征在于,所述工程包括基于可编译语言构建的工程,所述可编译语言包括Java、Kotlin中的至少一种。
7.一种代码测试处理装置,其特征在于,包括:
代码标注模块,用于在待测试的目标模块的源代码中引入自定义注解,以及用于处理所述自定义注解的注解处理器,并在所述目标模块中需要测试的目标方法上添加所述自定义注解,以通过所述自定义注解标注所述目标方法;
代码编译模块,用于编译所述目标模块所属工程,并在所述目标模块的编译过程中,通过所述注解处理器解析所述自定义注解,得到待测试的目标代码;
代码测试模块,用于在所述工程启动时,自动执行所述目标代码,并返回所述目标代码的执行结果,得到所述目标代码的测试结果;
其中,所述自定义注解为可作用于类方法上,用于标记待测试类方法的注解,所述目标模块为所述工程中的任一代码模块。
8.根据权利要求7所述的装置,其特征在于,所述代码编译模块,具体用于:
在所述目标模块的编译过程中,通过所述注解处理器,执行以下步骤,以解析所述自定义注解,得到待测试的目标代码:
S1,初始化所述注解处理器;
S2,获取所述目标模块中所有通过所述注解处理器处理的自定义注解;
S3,获取所有被所述自定义注解标注的方法;
S4,通过反射调用被所述自定义注解标注的方法,生成所述目标代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于五八有限公司,未经五八有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111014666.9/1.html,转载请声明来源钻瓜专利网。