快捷搜索:  汽车  科技

mock模拟接口应用场景(接口模拟测试利器)

mock模拟接口应用场景(接口模拟测试利器)以下命令运行moco server[ { "response" : { "text" : "Hello Moco" } } ] 以上定义了全局接口的返回信息。https://github.com/dreamhead/moco Moco使用下载官方Standalone Moco Runner文件到本地。下载完成对应目录下可以moco-runner-0.12.0-standalone.jar文件对应目录下新增foo.json文件以下内容。

原创不易,请多多支持。对java技术感兴趣的童鞋请关注我,后续会陆续推出各类java技术文章。 背景

前后端经常会存在接口对接,为减少相互间的强依赖,双方能并行开发。接口的模拟测试就显得尤为关键。一些对外的接口,外部环境往往不可控,在开发、测试阶段为了减少其影响,通过接口模拟测试能减少很多不必要的麻烦。

本文将介绍一款轻量级的java mock server工具,解决以上的常见问题。

Moco介绍

moco是一个java实现,轻量级的,开源的接口模拟测试工具,可以通过jar独立部署。简单json配置,即可实现接口的请求响应接口模拟。

官方地址:

https://github.com/dreamhead/moco Moco使用

下载官方Standalone Moco Runner文件到本地。

mock模拟接口应用场景(接口模拟测试利器)(1)

下载完成对应目录下可以moco-runner-0.12.0-standalone.jar文件

对应目录下新增foo.json文件以下内容。

[ { "response" : { "text" : "Hello Moco" } } ]

以上定义了全局接口的返回信息。

以下命令运行moco server

java -jar moco-runner-<version>-standalone.jar http -p 12306 -c foo.json

访问http://localhost:12306 ,将看到"Hello Moco"返回信息。

以上就完成了moco server的接口完整测试。是不是很easy。接下来我们再看看,比较常用的http restful的配置方式。

sample

一个项目往往有很多接口,moco的include属性支持多个配置文件的引用,通过不同文件的配置实现接口的分组定义,更便于接口管理维护。

首先定义一个全局配置文件globalconfig.json(名称可以任意取)

[ { "include" : "openApi.json" } { "include" : "loan.json" } ]

上面使用include属性,引入相关子文件定义。

注意:若使用include的文件定义,在启动moco server的时候,配置文件前的启动参数是-g,而不是一开始介绍的-c 参数,否则启动将包include字段识别错误。

java -jar moco-runner-<version>-standalone.jar http -p 12306 -g globalconfig.json

openApi.json文件内容如下

[ { "description":"接口测试1" "request" : { "uri" : "/openapi/user/check" "method":"post" "headers":{ "content-type":"application/json" } } "response" : { "json":{ "code": 0 "msg": "success" "data":{} } } } { "description":"接口测试2" "request" : { "uri" : "/openapi/loan/apply" "method":"get" } "response" : { "json":{ "code": 0 "msg": "success" "data":{} } } } ]

上面定义了接口测试1、接口测试2两个接口。每个接口可以配置他的request和response信息。在接口测试时,必须request选项满足时,对应response才返回。

更多属性配置可参见官方文档。

mock模拟接口应用场景(接口模拟测试利器)(2)

另外moco server对配置文件的变更是实时检测的,以下控制界面可见openApi.json发生的change变更。这在测试联调时特别方便,一种返回case测试完后想改返回值,只需变更响应配置文件,无需来回重启moco server。

mock模拟接口应用场景(接口模拟测试利器)(3)

通过使用moco server,是否感觉特别得简单、实用、高效?喜欢的coder们赶快使用起来吧!提高效率,珍惜生命!

猜您喜欢: