一、概念
可以使用MockServer来模拟通过HTTP或HTTPS集成的任何系统(例如服务、web站点等)。当MockServer收到一个请求时,它将与已配置的活动期望相匹配。期望定义了所采取的行动,例如,可以返回响应。
二、下载
mock server是一个jar包,下载地址:https://github.com/dreamhead/moco
三、使用
1.启动mock
- 启动服务命令:java -jar moco-runner--standalone.jar start -p 12306-c ***.json
- version:下载moco的版本号,该版本号为:0.11.1
- 12306:是任意指定的端口号,用于显示response
- ***.json:代表需要加载的配置文件名,可以自己创建文件,写一个基本的response命令(onecoder.json)也可以将启动命令保存在一个文件中,直接运行该文件即可chmod 777 文件名:任何人对该文件都有读、写、运行功能
- 显示结果为:encoder中的response
2.简单构造配置文件
编写json格式文件tester.json:[{“request”:{“url”:”/hello”},”response”:{“text”:”I am a tester"}}]如果有多个文件使用同一个mock server,则需要配置全局文件:[{“context”:”/tester”,”include”:”tester.json”},{….}]文件位置:将所用到的配置文件与jar包放在同一目录下
3.加载全局配置文件
- 命令:java -jar moco-runner--standalone.jar start -p 12306 -g
onecoder.json4.访问服务 - 访问路径:http://localhost:12306/tester/hello 显示结果为:response中的text— I am a
tester
四、不同配置文件格式配置
1.request配置中带参数
- 配置文件:[{ “request” : { “uri” : “/get”, “queries”: { “name”:“onecoder”
} }, “response” : { “text” : “Hey.” } }] - 访问路径:http://localhost:12306/tester/get?name=onecoder访问结果:Hey
2.template
- 功能配置文件:[{“request”:{“url”:”/template”},”response”:{“text”{“template”:”${req.queries[’name’]}"}}}]
- 访问路径:http://localhost:12306/template?name=onecoder显示结果:onecoder(可以动态的返回参数值)
3.redirect功能
- 配置文件:{ “request” : { “uri” : “/redirect” }, "redirectTo”
:“http://www.baidu.com” } - 访问路径:http://localhost:12306/redirect访问结果:跳转到http://www.baidu.com网站