[发明专利]Mock方法和装置在审
申请号: | 201710266212.8 | 申请日: | 2017-04-21 |
公开(公告)号: | CN108733554A | 公开(公告)日: | 2018-11-02 |
发明(设计)人: | 张凯 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;姜劲 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 测试场景 输入参数 返回 方法和装置 返回结果 匹配规则 脚本 调用 解析 动态装载 构建 预设 匹配 数据库 开发 服务 | ||
本发明实施例提供一种Mock方法和装置,能够使一次开发的Mock脚本应对不同测试场景的Mock需求,即实现一个Mock接口能根据实际测试场景返回不同Mock返回值,无需针对不同测试场景开发不同的Mock脚本,从而能够构建简单、快速的Mock服务。该方法包括:接收调用Mock接口的请求;所述请求包括:输入参数;对所述输入参数以及从数据库中动态装载的可返回结果集进行解析;根据预设的匹配规则对解析后的输入参数和解析后的可返回结果集进行匹配;将符合匹配规则的Mock返回值返回至调用Mock接口的系统。
技术领域
本发明涉及计算机技术领域,尤其涉及一种Mock方法和装置。
背景技术
联调测试是目前软件质量保证体系中非常重要的一个环节,是业务测试场景中保证不同系统之间数据交互正确性的有效手段。由于业务越来越复杂、系统交互方越来越多,导致联调测试中的参与方也越来越多,进而造成联调测试缓慢、无法快速响应业务的变化。
为了解决联调测试缓慢的问题,在联调测试中引入了Mock(模拟)服务。通过Mock服务模拟返回参数或返回值,解决了被测系统对外部接口服务的依赖问题,使得联调测试可以快速进行,降低了被测系统在联调测试中的风险,保证了被测系统的质量。
Mock服务按照使用范围的大小大致可分为:方法级Mock服务、组件级Mock服务和系统测试级Mock服务。对于方法级Mock服务和组件级Mock服务,现有技术中存在EasyMock、Jmock、Mockito、PowerMock等开发框架。而对于系统测试级的Mock服务,则需要在一些框架和插件的基础上,针对需要Mock的外部接口服务进行个性化定制才能实现。
不管是哪一类型的Mock服务,构建Mock服务进行测试的流程大致相同。图1是现有技术中构建Mock服务的流程示意图。如图1所示,该流程主要包括以下步骤:A1、分析被测方法、组件或接口;A2、进行个性化Mock服务脚本开发;A3、被测方法、组件或接口调用Mock服务;A4、针对不同场景修改或重新开发Mock服务脚本;A5、被测方法、组件或接口调用修改或重新开发的Mock服务。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:第一,现有构建Mock服务进行测试的方法不太适用于集成测试或系统测试等复杂场景下。这是因为,现有技术是将数据(输入参数、输出参数)写入Mock脚本中。随着业务场景的增多,所需开发的Mock脚本越来越多。这样一来,引入Mock服务不仅没有提高测试效率,反而由于过于依赖Mock服务拖后测试进度。第二,随着业务场景越来越复杂多变,简单、快速的系统测试级Mock服务越来越被需要。然而,如何构建简单、快速的Mock服务,现有技术中还没有给出好的解决方案。
发明内容
有鉴于此,本发明实施例提供一种Mock方法和装置,能够使一次开发的Mock脚本应对不同测试场景的Mock需求,即实现一个Mock接口能根据实际测试场景返回不同Mock返回值,无需针对不同测试场景开发不同的Mock脚本,从而能够构建简单、快速的Mock服务。
为实现上述目的,根据本发明实施例的一个方面,提供了一种Mock方法。
本发明实施例的Mock方法包括:接收调用Mock接口的请求;所述请求包括:输入参数;对所述输入参数以及从数据库中动态装载的可返回结果集进行解析;根据预设的匹配规则对解析后的输入参数和解析后的可返回结果集进行匹配;将符合匹配规则的Mock返回值返回至调用Mock接口的系统。
可选地,所述匹配规则为:一个或多个分级参数与Mock返回值的对应关系。
可选地,对所述输入参数以及动态装载的可返回结果集进行解析,包括:将所述输入参数解析成第一可操作对象;将所述动态装载的可返回结果集解析成第二可操作对象。
可选地,所述方法还包括:在接收调用Mock接口的请求之前,根据被测系统的外部依赖接口规范生成调用Mock接口的脚本。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710266212.8/2.html,转载请声明来源钻瓜专利网。