什么是mock ?
主要是针对单元测试的应用,它可以很方便的解除单元测试中各种依赖,大大的降低了编写单元测试的难度。
什么是Mock Server ?
专门实现
Mock Server的作用?
MockServer 是一个 API ,通过 HTTP 集成(服务、web网站等)的系统的模拟测试。提供 Java 和 JavaScript API。
可匹配的请求内容:
- path (regex or plain text)
- body (regex or plain text)
- headers
- cookies
- query parameters (GET)
- body parameters (POST)
响应包含内容:
- status code
- body
- headers
- cookies
MockServer 已经在多个大型的商业项目中使用。
使用postman模拟mockserver
由于云平台的接口程序还没有写好,只能用模拟的方式先行开发代码,
用了post来模拟接口程序。
需要模拟的接口如下:
■请求地址
/openapi/ipm/wait/process/query
■请求参数
无
■返回数据样例
{
"code": 200,
"msg": "请求成功",
"data": [{
"aluGrade": 1100,
"aluState": H24,
"thickness": 2.10,
"width": 1200,
"aluGrade": 1100,
"length": 3000,
"isFilm": 0,
"cnt": 10, "id": 10,
},
{
"aluGrade": 1100,
"aluState": H24,
"thickness": 2.10,
"width": 1200,
"aluGrade": 1100,
"length": 3000,
"isFilm": 0,
"cnt": 10, "id": 10,
}
]
}
1.打开postman程序,选择New->Mock Server
2.配置collection
在Request Path中填写路径,记得不要把斜线写多了。
openapi/ipm/wait/process/query
在Response Body中写上要返回的模拟数据
{
"code": 200,
"msg": "请求成功",
"data": [{
"aluGrade": 1100,
"aluState": H24,
"thickness": 2.10,
"width": 1200,
"aluGrade": 1100,
"length": 3000,
"isFilm": 0,
"cnt": 10, "id": 10,
},
{
"aluGrade": 1100,
"aluState": H24,
"thickness": 2.10,
"width": 1200,
"aluGrade": 1100,
"length": 3000,
"isFilm": 0,
"cnt": 10, "id": 10,
}
]
}
选择下一步,自己顶一个Mock Server的名字。
记得把【Save to the mock server URL as an environment variable】勾上,
postman会帮你把这个mock server的地址生成一个环境,后面在测试的时候会用到这个环境。
配置完成之后,结束。
配置完成之后,postman会生成一个mock server的地址
比如这里生成的地址是
https://3dd39ca6-40bd-41ae-a045-ff80d0e6aca8.mock.pstmn.io
3.启动Mock Server
点击画面的Run按钮,进入Collection启动页面
启动完成
4.通过浏览器发送请求,验证是否成功