一种数据库断言的测试方法及装置制造方法及图纸

技术编号:37992995 阅读:11 留言:0更新日期:2023-06-30 10:07
本申请提供了一种数据库断言的测试方法及装置,该方法包括:获取第一断言数据,所述第一断言数据包括:第一断言语句以及第一断言语句的类型;获取目标数据库的数据库类型;当所述第一断言语句的类型与所述目标数据库的数据库类型不匹配,根据所述目标数据库的数据库类型将所述第一断言语句转换为目标断言语句;其中,所述目标断言语句的断言类型与所述目标数据库的数据库类型相匹配;根据所述目标断言语句获取所述目标数据库的第一断言测试结果。由此可见,在测试人员提供的断言语句与目标数据库类型不匹配时,可以将断言语句转换为与目标数据库相匹配的断言语句,保证断言测试的可用性,提高断言测试的效率。提高断言测试的效率。提高断言测试的效率。

【技术实现步骤摘要】
一种数据库断言的测试方法及装置


[0001]本申请涉及数据库测试
,尤其涉及一种数据库断言的测试方法及装置。

技术介绍

[0002]在数据库中,断言(Assertion)是一种在测试阶段用于定义数据完整性的约束条件,它用于确保数据库中的数据满足一定的条件或规则,以保证数据的正确性和可靠性。
[0003]在自动化测试阶段中,通常需要进行数据库断言来验证代码是否符合编码人员的预期,然而现有技术中,针对不同数据库的产品,其对应的SQL断言语法是不相同,因此,需要测试人员确认每一个待测试数据库的类型,并针对其类型编写对应的数据库断言进行测试。例如:目标是MySQL数据库,则需要写MySQL数据库语句进行断言测试,这使得现有的数据库断言测试的效率低下。因此,现亟需一种数据库断言的测试方法,能够克服现有技术中断言测试的效率低下的问题。

技术实现思路

[0004]有鉴于此,本申请提供了一种数据库断言的测试方法及装置,用以提高断言测试的效率。
[0005]其技术方案如下:
[0006]第一方面,本申请实施例提供了一种数据库断言的测试方法,所述方法包括:
[0007]获取第一断言数据,所述第一断言数据包括:第一断言语句以及第一断言语句的类型;
[0008]获取目标数据库的数据库类型;
[0009]当所述第一断言语句的类型与所述目标数据库的数据库类型不匹配,根据所述目标数据库的数据库类型将所述第一断言语句转换为目标断言语句;其中,所述目标断言语句的断言类型与所述目标数据库的数据库类型相匹配;
[0010]根据所述目标断言语句获取所述目标数据库的第一断言测试结果。
[0011]可选的,在所述获取第一断言数据之后,所述方法还包括:
[0012]对所述第一断言语句的正确性进行验证,包括:基于Spring Boot框架整合第三方Druid数据源对所述第一断言语句进行正确性校验。
[0013]可选的,所述获取目标数据库的数据库类型,包括:
[0014]通过Spring Boot框架的业务层读取所述目标数据库的库信息,所述目标数据库的库信息包括:所述目标数据库的数据源地址以及配置信息;
[0015]根据所述目标数据库的数据源地址以及配置信息,基于Spring Boot框架的JDBC代码链接所述目标数据库,以获得所述目标数据库的数据库类型。
[0016]可选的,所述根据所述目标数据库的数据库类型将所述第一断言语句转换为目标断言语句,包括:
[0017]截取所述第一断言语句的字符串信息,以获得第一断言关键词;
[0018]根据预设的断言关键词转换规则、所述第一断言语句的类型以及所述目标数据库的数据库类型,将所述第一断言关键词转换为目标断言关键词;
[0019]将所述第一断言语句中的第一断言关键词替换为所述目标断言关键词,获得所述目标断言语句。
[0020]可选的,所述方法还包括:
[0021]基于HTTP Client发送业务测试请求至所述目标数据库的目标端口;
[0022]接收所述目标端口返回的业务测试结果。
[0023]可选的,在所述接收所述目标端口返回的业务测试结果之后,所述方法还包括:
[0024]根据所述目标断言语句获取所述目标数据库的第二断言测试结果;
[0025]根据所述第一断言测试结果、第二断言测试结果以及所述业务测试结果确定所述目标数据库的最终测试结果。
[0026]第二方面,本申请实施例提供了一种数据库断言的测试装置,所述装置包括:
[0027]获取模块,用于获取第一断言数据,所述第一断言数据包括:第一断言语句以及第一断言语句的类型;
[0028]所述获取模块,还用于获取目标数据库的数据库类型;
[0029]转换模块,用于当所述第一断言语句的类型与所述目标数据库的数据库类型不匹配,根据所述目标数据库的数据库类型将所述第一断言语句转换为目标断言语句;其中,所述目标断言语句的断言类型与所述目标数据库的数据库类型相匹配;
[0030]测试模块,用于根据所述目标断言语句获取所述目标数据库的第一断言测试结果。
[0031]可选的,所述转换模块用于根据所述目标数据库的数据库类型将所述第一断言语句转换为目标断言语句,具体包括:截取所述第一断言语句的字符串信息,以获得第一断言关键词;根据预设的断言关键词转换规则、所述第一断言语句的类型以及所述目标数据库的数据库类型,将所述第一断言关键词转换为目标断言关键词;将所述第一断言语句中的第一断言关键词替换为所述目标断言关键词,获得所述目标断言语句。
[0032]可选的,所述测试模块还用于:
[0033]基于HTTP Client发送业务测试请求至所述目标数据库的目标端口;
[0034]接收所述目标端口返回的业务测试结果。
[0035]可选的,所述测试模块还用于:在所述接收所述目标端口返回的业务测试结果之后,根据所述目标断言语句获取所述目标数据库的第二断言测试结果;根据所述第一断言测试结果、第二断言测试结果以及所述业务测试结果确定所述目标数据库的最终测试结果。
[0036]上述技术方案具有如下有益效果:
[0037]本申请实施例提供的一种数据库断言的测试方法,在执行所述方法时,获取第一断言数据,所述第一断言数据包括:第一断言语句以及第一断言语句的类型;获取目标数据库的数据库类型;当所述第一断言语句的类型与所述目标数据库的数据库类型不匹配,根据所述目标数据库的数据库类型将所述第一断言语句转换为目标断言语句;其中,所述目标断言语句的断言类型与所述目标数据库的数据库类型相匹配;根据所述目标断言语句获取所述目标数据库的第一断言测试结果。由此可见,本申请实施例在测试人员提供的断言
语句与目标数据库类型不匹配时,可以将断言语句转换为与目标数据库相匹配的断言语句,保证断言测试的可用性,无需测试人员基于目标数据库的类型重新编写新的断言语句,提高断言测试的效率。
[0038]本申请实施例还提供了与上述方法相对应的装置,具有与上述方法相同的有益效果。
附图说明
[0039]为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0040]图1为本申请实施例提供的一种数据库断言的测试方法的流程示意图;
[0041]图2为本申请实施例提供的又一种数据库断言的测试方法的流程示意图;
[0042]图3为本申请实施例提供的一种数据库断言的测试装置的结构示意图。
具体实施方式
[0043]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库断言的测试方法,其特征在于,所述方法包括:获取第一断言数据,所述第一断言数据包括:第一断言语句以及第一断言语句的类型;获取目标数据库的数据库类型;当所述第一断言语句的类型与所述目标数据库的数据库类型不匹配,根据所述目标数据库的数据库类型将所述第一断言语句转换为目标断言语句;其中,所述目标断言语句的断言类型与所述目标数据库的数据库类型相匹配;根据所述目标断言语句获取所述目标数据库的第一断言测试结果。2.根据权利要求1所述的方法,其特征在于,在所述获取第一断言数据之后,所述方法还包括:对所述第一断言语句的正确性进行验证,包括:基于Spring Boot框架整合第三方Druid数据源对所述第一断言语句进行正确性校验。3.根据权利要求1所述的方法,其特征在于,所述获取目标数据库的数据库类型,包括:通过Spring Boot框架的业务层读取所述目标数据库的库信息,所述目标数据库的库信息包括:所述目标数据库的数据源地址以及配置信息;根据所述目标数据库的数据源地址以及配置信息,基于Spring Boot框架的JDBC代码链接所述目标数据库,以获得所述目标数据库的数据库类型。4.根据权利要求1

3中的任一项所述的方法,其特征在于,所述根据所述目标数据库的数据库类型将所述第一断言语句转换为目标断言语句,包括:截取所述第一断言语句的字符串信息,以获得第一断言关键词;根据预设的断言关键词转换规则、所述第一断言语句的类型以及所述目标数据库的数据库类型,将所述第一断言关键词转换为目标断言关键词;将所述第一断言语句中的第一断言关键词替换为所述目标断言关键词,获得所述目标断言语句。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于HTTP Client发送业务测试请求至所述目标数据库的目标端口;接收所述目标端口返回的业务测试结果。6.根据...

【专利技术属性】
技术研发人员:陶应
申请(专利权)人:湖南快乐阳光互动娱乐传媒有限公司
类型:发明
国别省市:

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

1