众所周知Mock是为了解决依赖接口未开发完成或者调用第三方接口的情况,进行模拟返回数据而存在,测试中具体使用场景需要在真实使用后进行补充------未完待续~
下面是自己整理的关于Mock的使用之一:
1、首先依赖提供的jar包和git命令
jar包下载路径:https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/0.11.0
java -jar ./moco-runner-0.11.0-standalone.jar http -p 8888 -c startup1.json
浏览器访问路径:localhost:8888/指定方法名
2、模拟get请求的两种方式(无参和传参)
//无参
[
{
"description":"这是第一个demo",
"request":{
"uri":"/demo",
"method":"get"
},
"response":{
"text":"这是第一个mock框架的demo",
//解决乱码问题
"headers":{
"Content-Type":"text/html;charset=gbk"
}
}
}
]
//有参
[
{
"description":"模拟一个带参数的get请求",
"request":{
"uri":"/getwithparam",
"method":"get",
"queries":{
"name": "huhansan",
"age": "18"
}
},
"response":{
"text": "我胡汉三又回来啦",
"headers": {
"Content-Type":"text/html;charset=gbk"
}
}
}
]
3、模拟post请求的两种方式(无参、json格式和非json格式)
//无参post请求
[
{
"description": "模拟一个post请求",
"request": {
"uri": "/postdemo",
"method": "post"
},
"response": {
"text": "这是我的第一个mock_post请求",
"headers": {
"Content-Type":"text/html;charset=gbk"
}
}
}
]
//json格式post请求
[
{
"description": "json格式post请求",
"request": {
"uri": "/postdemo",
"method": "post",
"json":{
"name":"huhansan",
"age":""18
}
},
"response": {
"text": "json格式post请求",
"headers": {
"Content-Type":"text/html;charset=gbk"
}
}
}
]
//非json格式post请求
[
{
"description": "非json格式post请求",
"request": {
"uri": "/postdemo",
"method": "post",
"forms":{
"name":"lisi",
"age":"20"
}
},
"response": {
"text": "非json格式post请求",
"headers": {
"Content-Type":"text/html;charset=gbk"
}
}
}
]
4、带cookie信息的get请求
[
{
"description":"带cookie信息的get请求",
"request":{
"uri":"/get/cookie",
"method":"get",
"cookies":{
"login":"true"
}
},
"response":{
"text":"cookie信息验证成功",
"headers":{
"Content-Type":"text/html;charset=gbk"
}
}
}
]
5、带cookie请求的post请求且请求数据指定为json格式
[
{
"description":"携带cookie信息的post请求",
"request":{
"uri":"/post/cookies",
"method":"get",
"cookies":{
"login":"true"
},
"queries":{
"name":"zhaoliu",
"sex":"woman"
},
"headers":{
"content-type":"application/json"
}
},
"response":{
"status":201,
"json":{
"name":"zhaoliu",
"sex":"woman"
}
}
}
]
6、重定向
[
{
"description":"重定向到自己的网页上",
"request":{
"uri":"/redirect/topath"
},
"redirectTo":"/redirect/new"
},
{
"description":"这是被重定向的请求",
"request":{
"uri":"/redirect/new"
},
"response":{
"text":"重定向成功了"
}
}
]