一、背景介绍
由于公司需要对接外部银行,外部银行不提供测试环境,为了方便开发测试,项目中需要使用到Mock,因此搭建一套Moco-Server环境方便测试。
二、环境搭建
1.配置JDK环境。
2.下载JAR包,路径如下。
https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/0.11.0/moco-runner-0.11.0-standalone.jar
3.新建json文件,命名为zxyhsucess.json。文件内容如下
文件介绍:请求报文中包含”ZJRZ”的请求,路由到此接口,响应报文为“DLBCMSTK 中介签收.xml”文件内容。
4.新建启动脚本,命名为startmocosucess.bat,启动脚本如下。
= 中信电票MOCK
java -jar moco-runner-0.11.0-standalone.jar http -p 16789 -c zxyhsucess.json
三、操作说明
需要添加新的接口,直接在zxyhsucess.json文件加入新的接口匹配规则,然后建立新的响应文本就行。
1、按uri匹配
[ { "request" : { "uri" : "/hello" }, "response" : { "text" : "I am a boy." } } ]请求url为127.0.0.1:16789/hello,响应内容则为"I am a boy." 。
2、redirect
[{ "request" : { "uri" : "/redirect" }, "redirectTo" : "http://www.baidu.com" }]
请求url为127.0.0.1:16789/redirect,则跳转到http://www.baidu.com。
3、按请求内容所在文件来匹配(post请求)
[{"description":"testMock","request":{"file":"testMockRequest.xml"
},"response":{"file":"testMockReponse.xml"}}]
接口的请求体跟testMockRequest.xml文件内容一致,则响应体为testMockRequest.xml文件内容。
4、按请求内容匹配(post请求)
[{ "description":"按请求内容匹配","request":{ "text": {"contain":"qqnr"} }, "response": {"text" : "qqnr" }}]
请求内容包含qqrn,则响应内容为qqrn。
5、Moco支持正则匹配
[{ "request": { "uri": { "match": "a(.*?)b" } }, "response": { "text": "good boy." } }]
注:Moco支持动态加载配置文件,所以无论你是修改还是添加配置文件都是不需要重启服务的。