基于SpringBoot服务的Mock测试方法与流程

文档序号:15144033发布日期:2018-08-10 20:14阅读:5163来源:国知局

本发明属于计算机软件技术领域,具体涉及一种基于springboot服务的mock测试方法。



背景技术:

开发人员在开发过程中需要测试开发单元的性能,以便及时发现错误并修复,确保开发单元的正确性和稳定性。

传统方法中,对前端开发单元的测试是以后台提供的可进行业务逻辑的接口为基础的,如果后台尚未开发完成,则无法对前端开发单元进行性能测试,具有性能测试灵活性低的不足。



技术实现要素:

针对现有技术存在的缺陷,本发明提供一种基于springboot服务的mock测试方法,可有效解决上述问题。

本发明采用的技术方案如下:

本发明提供一种基于springboot服务的mock测试方法,包括以下步骤:

步骤1,将springboot服务以可直接运行的jar包的形式发布到服务器;

步骤2,将客户端发起的api请求的域名所对应的主机指向所述服务器;或者,将客户端发起的api请求的域名设置为所述服务器的ip;

步骤3,当需要进行mock测试时,所述服务器运行所述jar包,进而开启所述springboot服务;

步骤4,客户端通过api接口发起api请求,其中,所述api请求携带路径信息、附加参数信息以及域名;

所述服务器中的所述springboot服务拦截所述api请求,所述springboot服务中的zuul过滤器过滤所述api请求,对所述api请求不进行路由,并通过requestcontext解析所述api请求,得到所述路径信息、所述附加参数信息以及所述域名;

步骤5,所述zuul过滤器利用rest-assured框架向后台数据系统发送get请求,其中,所述get请求携带所述路径信息、所述附加参数信息以及所述域名;

步骤6,所述后台数据系统预存储需要mock测试的若干个api接口以及每个api接口绑定的json对象;其中,一个所述api接口绑定至少一个json对象;每个所述api接口唯一对应所述路径信息、所述附加参数信息以及所述域名;因此,所述后台数据系统根据所述get请求中携带的所述路径信息、所述附加参数信息以及所述域名,得到对应的api接口,并进一步得到所述api接口对应的至少一个json对象;

步骤7,所述后台数据系统将查找到的至少一个json对象呈现到界面,并从至少一个json对象中确定本次需要返回的json对象;

步骤8,所述后台数据系统将本次需要返回的json对象发送给所述zuul过滤器;所述zuul过滤器设置api状态码为成功获取码,并将所述json对象返回给对应的api接口。

优选的,步骤8中,所述成功获取码为200。

本发明提供的基于springboot服务的mock测试方法具有以下优点:

(1)通过开发mock测试工具,可提前对前端开发单元进行性能测试,而不必完全依赖于后台,具有性能测试灵活的优点;

(2)后台数据系统实现一个api接口绑定多个json对象,因此,对于当前发起api请求的api接口,可灵活从多个json对象中确定本次需返回的json对象,进一步提高使用灵活性;而传统方法中,一个api接口只能绑定一个json对象,使用灵活性低。

附图说明

图1为本发明提供的基于springboot服务的mock测试方法的流程示意图;

图2为本发明提供的基于springboot服务的mock测试方法的实现流程图。

具体实施方式

为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明提供一种基于springboot服务的mock测试方法,参考图1,包括以下步骤:

步骤1,将springboot服务以可直接运行的jar包的形式发布到服务器;

步骤2,将客户端发起的api请求的域名所对应的主机指向所述服务器;或者,将客户端发起的api请求的域名设置为所述服务器的ip;

步骤3,当需要进行mock测试时,所述服务器运行所述jar包,进而开启所述springboot服务;

步骤4,客户端通过api接口发起api请求,其中,所述api请求携带路径信息、附加参数信息以及域名;

所述服务器中的所述springboot服务拦截所述api请求,所述springboot服务中的zuul过滤器过滤所述api请求,对所述api请求不进行路由,并通过requestcontext解析所述api请求,得到所述路径信息、所述附加参数信息以及所述域名;

步骤5,所述zuul过滤器利用rest-assured框架向后台数据系统发送get请求,其中,所述get请求携带所述路径信息、所述附加参数信息以及所述域名;

步骤6,所述后台数据系统预存储需要mock测试的若干个api接口以及每个api接口绑定的json对象;其中,一个所述api接口绑定至少一个json对象;每个所述api接口唯一对应所述路径信息、所述附加参数信息以及所述域名;因此,所述后台数据系统根据所述get请求中携带的所述路径信息、所述附加参数信息以及所述域名,得到对应的api接口,并进一步得到所述api接口对应的至少一个json对象;

步骤7,所述后台数据系统将查找到的至少一个json对象呈现到界面,并从至少一个json对象中确定本次需要返回的json对象;

步骤8,所述后台数据系统将本次需要返回的json对象发送给所述zuul过滤器;所述zuul过滤器设置api状态码为成功获取码,具体为200码,并将所述json对象返回给对应的api接口。

本发明中各英文符号含义如下:

springboot服务:springboot是由pivotal团队提供的全新框架,其设计目的是用来简化新spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

jar:jar(javaarchive,java归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为j2ee应用程序创建的jar文件是ear文件(企业jar文件)。

zuul:springcloudzuul包含了对请求的路由和过滤两个功能,其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础;而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验,服务聚合等功能的基础。

requestcontext:请求上下文模块。

rest-assured框架:rest-assured是一套由java实现的restapi测试框架,它是一个轻量级的restapi客户端,可以直接编写代码向服务器端发起http请求,并验证返回结果。

实际应用中,后台数据系统使用springmvc+mybatis+maven+微服务技术,提供数据业务逻辑开发。前端页面使用bootstrap框架开发,提供方法使用的页面,通过页面配置数据后,在各种环境修改接口域名就可以直接访问。

参考图2,mock测试方法的实现流程为:

(1)mock服务中配置接口访问路径,并启动mock服务

(2)在mock工具页面填写接口名称及具体请求参数,入库保存

(3)对某个接口添加相对应的需返回json数据

(4)从多个json数据中选择一个json数据

(5)测试环境修改该域名对应的host为mock服务对应的服务器

(6)通过浏览器或者手机app访问接口,并返回配置好的json数据。

本发明提供的基于springboot服务的mock测试方法具有以下优点:

(1)通过开发mock测试工具,可提前对前端开发单元进行性能测试,而不必完全依赖于后台,具有性能测试灵活的优点;

(2)后台数据系统实现一个api接口绑定多个json对象,因此,对于当前发起api请求的api接口,可灵活从多个json对象中确定本次需返回的json对象,进一步提高使用灵活性;而传统方法中,一个api接口只能绑定一个json对象,使用灵活性低;

(3)能够解决同域名下不同接口的数据返回,能够随时变更同一个接口返回的不同json数据,使用灵活性高;

(4)前后端分离,数据可以存库管理;

(5)使用的框架更加轻量级,避开了繁琐的json对象文件的配置;

(6)传统的mock框架扩展性较差,本发明后续可扩展把不同路径映射到不同服务器。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1