CN108388519A - 基于SpringBoot服务的Mock测试方法 - Google Patents
基于SpringBoot服务的Mock测试方法 Download PDFInfo
- Publication number
- CN108388519A CN108388519A CN201810226218.7A CN201810226218A CN108388519A CN 108388519 A CN108388519 A CN 108388519A CN 201810226218 A CN201810226218 A CN 201810226218A CN 108388519 A CN108388519 A CN 108388519A
- Authority
- CN
- China
- Prior art keywords
- api
- springboot
- services
- domain name
- api request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种基于SpringBoot服务的Mock测试方法,包括:服务器中的springboot服务拦截API请求,springboot服务中的zuul过滤器过滤API请求,对API请求不进行路由,并通过RequestContext解析API请求,得到路径信息、附加参数信息以及域名;后台数据系统将查找到的至少一个JSON对象呈现到界面,并从至少一个JSON对象中确定本次需要返回的JSON对象。优点为:通过开发Mock测试工具,可提前对前端开发单元进行性能测试,而不必完全依赖于后台,具有性能测试灵活的优点;后台数据系统实现一个API接口绑定多个JSON对象,使用灵活性高。
Description
技术领域
本发明属于计算机软件技术领域,具体涉及一种基于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服务:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
jar:JAR(Java Archive,Java归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为J2EE应用程序创建的JAR文件是EAR文件(企业JAR文件)。
zuul:springcloud zuul包含了对请求的路由和过滤两个功能,其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础;而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验,服务聚合等功能的基础。
RequestContext:请求上下文模块。
Rest-assured框架:Rest-assured是一套由Java实现的REST API测试框架,它是一个轻量级的REST API客户端,可以直接编写代码向服务器端发起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框架扩展性较差,本发明后续可扩展把不同路径映射到不同服务器。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (2)
1.一种基于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接口。
2.根据权利要求1所述的基于SpringBoot服务的Mock测试方法,其特征在于,步骤8中,所述成功获取码为200。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810226218.7A CN108388519A (zh) | 2018-03-19 | 2018-03-19 | 基于SpringBoot服务的Mock测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810226218.7A CN108388519A (zh) | 2018-03-19 | 2018-03-19 | 基于SpringBoot服务的Mock测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108388519A true CN108388519A (zh) | 2018-08-10 |
Family
ID=63067188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810226218.7A Pending CN108388519A (zh) | 2018-03-19 | 2018-03-19 | 基于SpringBoot服务的Mock测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108388519A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408572A (zh) * | 2018-09-30 | 2019-03-01 | 南京联创信息科技有限公司 | 基于sb框架及布隆过滤器的海量数据处理方法 |
CN109446769A (zh) * | 2018-10-18 | 2019-03-08 | 北京计算机技术及应用研究所 | 统计身份认证及日志处理微服务系统及其实现方法 |
CN110502224A (zh) * | 2019-08-22 | 2019-11-26 | 深圳前海环融联易信息科技服务有限公司 | 基于http请求的接口模拟方法、装置和计算机设备 |
CN110633213A (zh) * | 2019-09-19 | 2019-12-31 | 浙江大搜车软件技术有限公司 | 单元测试方法、装置、计算机设备和存储介质 |
CN110825641A (zh) * | 2019-11-08 | 2020-02-21 | 安徽继远检验检测技术有限公司 | 一种基于模拟数据生成器的微服务应用测试工具集 |
CN112685321A (zh) * | 2021-01-11 | 2021-04-20 | 河南中原消费金融股份有限公司 | 一种微服务的测试方法、系统及存储介质 |
CN112804373A (zh) * | 2020-12-30 | 2021-05-14 | 微医云(杭州)控股有限公司 | 接口域名确定方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297475A (zh) * | 2012-03-01 | 2013-09-11 | 阿里巴巴集团控股有限公司 | Mock服务系统及Mock服务的处理方法 |
CN103399776A (zh) * | 2013-05-02 | 2013-11-20 | 携程计算机技术(上海)有限公司 | 可重用mock创建方法及系统 |
CN106254423A (zh) * | 2016-07-20 | 2016-12-21 | 普元信息技术股份有限公司 | 基于微服务架构实现Restful服务快速发布的方法 |
US20170322874A1 (en) * | 2015-02-20 | 2017-11-09 | Vmware, Inc. | Generating test cases |
CN107547312A (zh) * | 2017-09-21 | 2018-01-05 | 广州四三九九信息科技有限公司 | 应用程序测试方法及系统 |
-
2018
- 2018-03-19 CN CN201810226218.7A patent/CN108388519A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103297475A (zh) * | 2012-03-01 | 2013-09-11 | 阿里巴巴集团控股有限公司 | Mock服务系统及Mock服务的处理方法 |
CN103399776A (zh) * | 2013-05-02 | 2013-11-20 | 携程计算机技术(上海)有限公司 | 可重用mock创建方法及系统 |
US20170322874A1 (en) * | 2015-02-20 | 2017-11-09 | Vmware, Inc. | Generating test cases |
CN106254423A (zh) * | 2016-07-20 | 2016-12-21 | 普元信息技术股份有限公司 | 基于微服务架构实现Restful服务快速发布的方法 |
CN107547312A (zh) * | 2017-09-21 | 2018-01-05 | 广州四三九九信息科技有限公司 | 应用程序测试方法及系统 |
Non-Patent Citations (1)
Title |
---|
张峰: "应用SpringBoot 改变web 应用开发模式", 《科技创新与应用》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408572A (zh) * | 2018-09-30 | 2019-03-01 | 南京联创信息科技有限公司 | 基于sb框架及布隆过滤器的海量数据处理方法 |
CN109446769A (zh) * | 2018-10-18 | 2019-03-08 | 北京计算机技术及应用研究所 | 统计身份认证及日志处理微服务系统及其实现方法 |
CN110502224A (zh) * | 2019-08-22 | 2019-11-26 | 深圳前海环融联易信息科技服务有限公司 | 基于http请求的接口模拟方法、装置和计算机设备 |
CN110633213A (zh) * | 2019-09-19 | 2019-12-31 | 浙江大搜车软件技术有限公司 | 单元测试方法、装置、计算机设备和存储介质 |
CN110633213B (zh) * | 2019-09-19 | 2023-07-04 | 浙江大搜车软件技术有限公司 | 单元测试方法、装置、计算机设备和存储介质 |
CN110825641A (zh) * | 2019-11-08 | 2020-02-21 | 安徽继远检验检测技术有限公司 | 一种基于模拟数据生成器的微服务应用测试工具集 |
CN110825641B (zh) * | 2019-11-08 | 2023-12-29 | 安徽继远检验检测技术有限公司 | 一种基于模拟数据生成器的微服务应用测试系统 |
CN112804373A (zh) * | 2020-12-30 | 2021-05-14 | 微医云(杭州)控股有限公司 | 接口域名确定方法、装置、电子设备及存储介质 |
CN112685321A (zh) * | 2021-01-11 | 2021-04-20 | 河南中原消费金融股份有限公司 | 一种微服务的测试方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108388519A (zh) | 基于SpringBoot服务的Mock测试方法 | |
CN109688202B (zh) | 一种接口数据的处理方法、装置、计算设备及存储介质 | |
CN108848092B (zh) | 基于调用链的微服务灰度发布的处理方法及装置 | |
CN104683386B (zh) | 可定制响应的桩服务实现方法及装置 | |
CN105302732B (zh) | 一种移动终端的自动测试方法及装置 | |
US20100070230A1 (en) | Integrated testing systems and methods | |
CN106354634A (zh) | 接口测试方法及装置 | |
US7296190B2 (en) | Parallel text execution on low-end emulators and devices | |
CN107832207A (zh) | 接口性能测试方法、装置、存储介质和计算机设备 | |
CN103973741A (zh) | 用于在云系统中进行远程调试的方法和装置 | |
CN104412565B (zh) | 用于涉及承载无关协议的套接字管理的方法 | |
CN105808399A (zh) | 一种远程调试的方法和装置 | |
CN110633219B (zh) | 页面测试方法与装置、存储介质、电子设备 | |
CN103246606A (zh) | Esb平台的性能方法和系统 | |
CN106412975B (zh) | 一种内容计费漏洞的测试方法和装置 | |
CN109783357A (zh) | 测试应用程序的方法及装置、计算机设备、存储介质 | |
CN112162925A (zh) | 一种基于服务虚拟化的测试方法和系统 | |
CN108182119A (zh) | 读写分离控制方法和装置、存储介质及电子装置 | |
US9170905B2 (en) | Base protocol layer testing device | |
CN113158180B (zh) | 汽车网络安全威胁场景构建方法、装置、设备和可读存储介质 | |
CN106067879A (zh) | 信息的检测方法及装置 | |
CN105743725A (zh) | 一种测试应用程序的方法和装置 | |
CN116775493A (zh) | mock测试方法、装置、mock平台和存储介质 | |
WO2019111109A1 (en) | Error handling | |
CN108848398B (zh) | 一种本地弹幕消息的分发方法、装置、终端和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180810 |
|
RJ01 | Rejection of invention patent application after publication |