【技术实现步骤摘要】
一种接口自动化契约测试方法和测试装置
[0001]本专利技术涉及计算机技术,特别涉及一种DUBBO接口的自动化契约测试方法和测试装置。
技术介绍
[0002]在微服务架构体系下,各个服务之间通过API调用相互依赖。契约测试是这样一种行为:从接口消费方角度产生一份包含输入数据和期望返回数据的文件,即契约文件,接口提供方依据该契约,输入文件中的输入数据,得到返回值并与期望的输出进行比较,完成一次验证双方连通准确性的测试。契约文件作为接口信息变更的载体,契约测试保证接口提供方或消费方的修改对对方造成的影响都能被感知。
[0003]Dubbo是阿里巴巴开源的一款高性能、轻量级的Java RPC框架,核心能力之一是面向接口的方法的调用。基于这一点,框架可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。服务提供方启动时,会向注册中心登记发布服务,等待消费;服务消费方启动时,会向注册中心登记服务消费,得到登记在上面的提供方的IP端口后,与提供方地址建立长连接,进而往该地址发送请求数据,获取返回数据, ...
【技术保护点】
【技术特征摘要】
1.一种接口自动化契约测试方法,其特征在于,包括:根据预先设定的契约文本格式对契约文本进行解析得到接口数据;根据所述接口数据中的被测接口全类名确定待建立连接的服务提供方的IP以及本地订阅的服务对应的端口;根据所述IP以及所述服务对应的端口与所述服务提供方建立连接并发送测试请求;接收服务提供方针对所述测试请求发送的返回信息;根据所述测试请求与所述返回信息进行契约测试。2.根据权利要求1所述的接口自动化契约测试方法,其特征在于,所述根据预先设定的契约文本格式对契约文本进行解析得到接口数据,包括:读取契约文本,根据基于所述契约文本格式设定的接口数据参量对所述契约文本进行关键值解析得到所述接口数据参量对应的接口数据。3.根据权利要求2所述的接口自动化契约测试方法,其特征在于,根据所述接口数据中的被测接口全类名确定待建立连接的服务提供方的IP以及本地订阅的服务对应的端口,包括:遍历发布所述服务的注册中心的dubbo节点下所有子节点,得到与所述被测接口全类名匹配的目标节点;从所述目标节点下的服务节点中获取所述服务提供方的IP和所述服务对应的端口。4.根据权利要求2
‑
3中任一项所述的接口自动化契约测试方法,其特征在于,所述测试请求包括:请求ID以及实际输出值;所述返回信息包括:响应ID和返回值;根据所述测试请求与所述返回信息进行契约测试,包括:匹配所述响应ID对应的请求ID;利用所述返回值更新匹配到的请求ID对应的测试请求的实际输出值;判断更新后的实际输出值与所述接口数据中的期望输出值是否一致;若一致,则提示契约测试通过;若不一致,则提示契约测试未通过。5.一种接口自动化契约测试装置,其特征在于,包括:解析模块,用于根据预先设定的契约文本格式对契约文本进行解析得到接口数据;端口确定模块,用于根据所述接口数据中的被测接口全类名确定待建立连接的服务提供方的IP以及本地订阅的服务...
【专利技术属性】
技术研发人员:韩靖,暨光耀,张洁芳,林秋玲,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。