[发明专利]一种代码测试处理方法、装置、电子设备及存储介质在审
申请号: | 202111014666.9 | 申请日: | 2021-08-31 |
公开(公告)号: | CN113867704A | 公开(公告)日: | 2021-12-31 |
发明(设计)人: | 胡芸菘 | 申请(专利权)人: | 五八有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;G06F8/73;G06F11/36 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 吕俊秀 |
地址: | 300450 天津市滨海新区经济技术开*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 测试 处理 方法 装置 电子设备 存储 介质 | ||
本发明提供了一种代码测试处理方法、装置、电子设备及存储介质。所述方法,包括:在待测试的目标模块的源代码中引入自定义注解,以及用于处理所述自定义注解的注解处理器,并在所述目标模块中需要测试的目标方法上添加所述自定义注解,以通过所述自定义注解标注所述目标方法;编译所述目标模块所属工程,并在所述目标模块的编译过程中,通过所述注解处理器解析所述自定义注解,得到待测试的目标代码;在所述工程启动时,自动执行所述目标代码,并返回所述目标代码的执行结果,得到所述目标代码的测试结果;其中,所述自定义注解为可作用于类方法上,用于标记待测试类方法的注解,所述目标模块为所述工程中的任一代码模块。
技术领域
本发明涉及计算机技术领域,尤其涉及一种代码测试处理方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的发展,很多开发平台可以提供代码测试环境。例如Android中提供了一套自己的Java测试和Android测试环境。
但是测试框架一般仅可以在主程序/主工程中使用正常,但是不能很好支持被主工程依赖的各单个模块的代码测试。例如,假设A模块依赖了B、C模块,那么如果在B模块中测试代码能否在A模块中正常运行,往往需要需要手动添加测试入口,影响代码测试效率。
发明内容
本发明实施例提供一种代码测试处理方法、装置、电子设备及存储介质,以解决现有的代码测试方式每次测试时需要手动添加测试入口,影响代码测试效率的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种代码测试处理方法,包括:
在待测试的目标模块的源代码中引入自定义注解,以及用于处理所述自定义注解的注解处理器,并在所述目标模块中需要测试的目标方法上添加所述自定义注解,以通过所述自定义注解标注所述目标方法;
编译所述目标模块所属工程,并在所述目标模块的编译过程中,通过所述注解处理器解析所述自定义注解,得到待测试的目标代码;
在所述工程启动时,自动执行所述目标代码,并返回所述目标代码的执行结果,得到所述目标代码的测试结果;
其中,所述自定义注解为可作用于类方法上,用于标记待测试类方法的注解,所述目标模块为所述工程中的任一代码模块。
可选地,在所述目标模块的编译过程中,通过所述注解处理器解析所述自定义注解,得到待测试的目标代码的步骤,包括:
在所述目标模块的编译过程中,通过所述注解处理器,执行以下步骤,以解析所述自定义注解,得到待测试的目标代码:
S1,初始化所述注解处理器;
S2,获取所述目标模块中所有通过所述注解处理器处理的自定义注解;
S3,获取所有被所述自定义注解标注的方法;
S4,通过反射调用被所述自定义注解标注的方法,生成所述目标代码。
可选地,在所述编译所述目标模块所属工程,并在所述目标模块的编译过程中,通过所述注解处理器解析所述自定义注解,得到待测试的目标代码的步骤之前,所述方法还包括:
获取待测试的目标源代码,并在所述目标方法内录入所述目标源代码,以在所述目标模块的编译过程中,通过所述注解处理器解析所述自定义注解,得到所述目标代码。
可选地,在待测试的目标模块的源代码中引入自定义注解,以及用于处理所述自定义注解的注解处理器,并在所述目标模块中需要测试的目标方法上添加所述自定义注解的步骤之前,还包括:
在所述工程中构建所述自定义注解,以及用于处理所述自定义注解的注解处理器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于五八有限公司,未经五八有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111014666.9/2.html,转载请声明来源钻瓜专利网。