单元测试方法、装置及电子设备制造方法及图纸

技术编号:36813260 阅读:13 留言:0更新日期:2023-03-09 00:58
本发明专利技术公开了一种单元测试方法、装置及电子设备。其中,上述方法包括:获取并加载当前项目下的目标源代码文件;对每个所述目标源代码文件进行解析,并获取每个所述目标源代码文件中的类名称、方法名称和方法参数;根据当前目标源代码文件包含的类名称、方法名称和方法参数,生成所述当前目标源代码文件对应的单元测试文件;根据所述单元测试文件对所述当前项目进行单元测试。本发明专利技术解决了相关技术中单元测试的效率较低的技术问题。试的效率较低的技术问题。试的效率较低的技术问题。

【技术实现步骤摘要】
单元测试方法、装置及电子设备


[0001]本专利技术涉及代码测试
,具体而言,涉及一种单元测试方法、装置及电子设备。

技术介绍

[0002]单元测试是集中对源代码实现的每一个程序单元进行测试,检测各个程序单元是否正确地实现了规定的功能,以及检查各程序模块的返回值是否正确。相关技术中单元测试代码的编写一般是通过人工来编写,一般编写单元测试方法经过新建单元测试类,编写单元测试方法,编写单元测试方法内容,调试等步骤。然而手动编写不仅繁琐,且浪费人力物力。现有的一些单元测试生成器等测试工具仅仅可以生成单个类的单元测试方法,且配置较复杂,使得单元测试的效率较低。

技术实现思路

[0003]本专利技术实施例提供了一种单元测试方法、装置及电子设备,以至少解决相关技术中单元测试的效率较低的技术问题。
[0004]根据本专利技术实施例的一个方面,提供了一种单元测试方法,包括:获取并加载当前项目下的目标源代码文件;对每个所述目标源代码文件进行解析,并获取每个所述目标源代码文件中的类名称、方法名称和方法参数;根据当前目标源代码文件包含的类名称、方法名称和方法参数,生成所述当前目标源代码文件对应的单元测试文件;根据所述单元测试文件对所述当前项目进行单元测试。
[0005]根据本专利技术实施例的另一方面,还提供了一种单元测试装置,包括:获取单元,用于获取并加载当前项目下的目标源代码文件;解析单元,用于对每个所述目标源代码文件进行解析,并获取每个所述目标源代码文件中的类名称、方法名称和方法参数;生成单元,用于根据当前目标源代码文件包含的类名称、方法名称和方法参数,生成所述当前目标源代码文件对应的单元测试文件;测试单元,用于根据所述单元测试文件对所述当前项目进行单元测试。
[0006]根据本专利技术实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的单元测试方法。
[0007]根据本专利技术实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述单元测试方法。
[0008]在本专利技术实施例中,采用了获取并加载当前项目下的目标源代码文件;对每个所述目标源代码文件进行解析,并获取每个所述目标源代码文件中的类名称、方法名称和方法参数;根据当前目标源代码文件包含的类名称、方法名称和方法参数,生成所述当前目标源代码文件对应的单元测试文件;根据所述单元测试文件对所述当前项目进行单元测试的
方法,在上述方法中通过对目标源代码文件进行解析,根据当前目标源代码文件包含的类名称、方法名称和方法参数,生成所述当前目标源代码文件对应的单元测试文件,可以避免人工编写代码产生的错误,提升了单元测试效率,减小了单元测试成本,进而解决了相关技术中单元测试的效率较低的技术问题。
附图说明
[0009]此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:
[0010]图1是根据本专利技术实施例的一种可选的单元测试方法的应用环境的示意图;
[0011]图2是根据本专利技术实施例的另一种可选的单元测试方法的应用环境的示意图;
[0012]图3是根据本专利技术实施例的一种可选的单元测试方法的流程示意图;
[0013]图4是根据相关技术中的一种可选的单元测试方法的流程示意图;
[0014]图5是根据本专利技术实施例的一种可选的单元测试装置的结构示意图;
[0015]图6是根据本专利技术实施例的一种可选的电子设备的结构示意图。
具体实施方式
[0016]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0017]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0018]根据本专利技术实施例的一个方面,提供了一种单元测试方法,可选地,作为一种可选地实施方式,上述单元测试方法可以但不限于应用于如图1所示的应用环境中。该应用环境中包括:与用户进行人机交互的终端设备102、网络104、服务器106。用户108与终端设备102之间可以进行人机交互,终端设备102中运行有单元测试应用程序。上述终端设备102中包括人机交互屏幕1022,处理器1024及存储器1026。人机交互屏幕1022用于显示当前项目下的目标源代码文件;处理器1024用于获取当前项目下的目标源代码文件和单元测试文件。存储器1026用于存储当前项目下的目标源代码文件和单元测试文件。
[0019]此外,服务器106中包括数据库1062及处理引擎1064,数据库1062中用于存储当前项目下的目标源代码文件和单元测试文件。处理引擎1064用于获取并加载当前项目下的目标源代码文件;对每个所述目标源代码文件进行解析,并获取每个所述目标源代码文件中的类名称、方法名称和方法参数;根据当前目标源代码文件包含的类名称、方法名称和方法
参数,生成所述当前目标源代码文件对应的单元测试文件;根据所述单元测试文件对所述当前项目进行单元测试;在上述终端设备102的客户端显示当前项目的单元测试结果。
[0020]在一个或多个实施例中,本申请上述单元测试方法可以应用于图2所示的应用环境中。如图2所示,用户202与用户设备204之间可以进行人机交互。用户设备204中包含有存储器206和处理器208。本实施例中用户设备204可以但不限于参考执行上述终端设备102所执行的操作,获取当前项目的单元测试结果。
[0021]可选地,上述终端设备102和用户设备204包括但不限于为手机、机顶盒、电视、平板电脑、笔记本电脑、PC机,车载电子设备,可穿戴设备等终端,上述网络104可以包括但不限于无线网络或有线网络。其中,该无线网络包括:WIFI及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述服务器106可以包括但不限于任何可以进行计算的硬件设备。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。...

【技术保护点】

【技术特征摘要】
1.一种单元测试方法,其特征在于,包括:获取并加载当前项目下的目标源代码文件;对每个所述目标源代码文件进行解析,并获取每个所述目标源代码文件中的类名称、方法名称和方法参数;根据当前目标源代码文件包含的类名称、方法名称和方法参数,生成所述当前目标源代码文件对应的单元测试文件;根据所述单元测试文件对所述当前项目进行单元测试。2.根据权利要求1所述的方法,其特征在于,所述获取并加载当前项目下的所有源代码文件,包括:遍历当前项目下的所有代码文件的路径列表,根据所述路径列表确定包括预设后缀名的源代码文件,并将包括所述预设后缀名的源代码文件作为目标源代码文件;加载当前遍历到所述目标源代码文件。3.根据权利要求1所述的方法,其特征在于,所述对每个所述目标源代码文件进行解析,并获取每个所述目标源代码文件中的类名称、方法名称和方法参数,包括:遍历目标源代码中的每个字符,执行如下操作:根据预设匹配规则,将第一关键词和第一符号之间去除空格字符后的字符串确定为类名称;根据所述预设匹配规则,在包括第二关键词且不包含所述第一关键词的代码行中,将空格字符和第二字符之间的字符串确定为方法名称;根据所述预设匹配规则,将所述方法名称后的括号内的字符串确定为方法参数。4.根据权利要求3所述的方法,其特征在于,所述根据所述预设匹配规则,将所述方法名称后的括号内的字符串确定为方法参数,包括:根据所述预设匹配规则,确定所述方法名称后的括号内不包括第三字符的参数字符串;将所述参数字符串中逗号之前的字符子串确定为变量类型,所述逗号之后的字符子串确定为变量名称。5.根据权利要求3所述的方法,其特征在于,所述对每个所述目标源代码文件进行解析之前,还包括:根据待匹配字符串确定筛选目标字符的正则...

【专利技术属性】
技术研发人员:宋鲁生
申请(专利权)人:平安壹钱包电子商务有限公司
类型:发明
国别省市:

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

1