Moco简介:
Mock是一个简单搭建模拟服务器的框架,可以用来模拟http、https、socket等协议。
原理: Mock会根据一些配置,启动一个真正的HTTP服务(会监听本地的某个端口),当发起的请求满足某个条件时,就会返回指定的响应数据。
实现步骤:
1.创建配置文件
2.启动http服务
3.接口访问
启动命令:
java -jar <path-to-moco-runner>http -p <monitor-port> -c <configuration-file> 示例: java -jar moco-runner-1.1.0-standalone.jar http -p 9090 -c test.json
< path-to-moco-runner>:jar包路径
< monitor-port>:监听端口
< configuration-file>:配置文件路径
网上下载mock的jar包,创建json文件,和jar包放在一个目录下,可以通过jemter调用接口访问,也可以在浏览器中访问。
[
{"description":"这是mock的第一个接口","request":{"uri":"/testUrl"},"response":{"text":"Hello,World!"}
},
{"description":"这是mock的第二个接口","request":{"method":"POST","uri":"/demo3","forms":{"key1":"abc"}},"response":{"text":"Hello,bady"}
},
{"description":"json传参","request":{"method":"POST","uri":"/demo3","headers":{"Content-Type":"application/json"},"json":{"username":"abc","password":"123456"}},"response":{"text":"Hello,bady"}
}]
在cmd中运行命令:java -jar moco-runner-1.5.0-standalone.jar http -p 7080 -c test1.json,能够看到运行成功的日志打印出来了。
在浏览器中输入http://localhost:端口(cmd上运行时指定的端口)/调用的url
运行结果如下所示:
在cmd中可以开多个窗口,模拟调用多个接口,只需要改成不同的端口号即可。如果要传json数据、form表单格式数据,需要通过postman、jemter等接口调用工具去进行调用,不能通过浏览器进行访问。
使用mock工具可以模拟任何响应数据:
[{"description":"json传参","request":{"uri":"/api/login","forms":{"keyword":"admin","password":"123456"},"method":"POST","json":{"username":"abc","password":"123456"}},"response":{"status":201,"headers":{"Content-Type":"application/json;charset=UTF-8"},"json":{"code":"200","msg":"登录成功","data":{"uid":1,"token":"xxx"}}}}]