mock在接口测试中的作用
一、对于前端而言:当后端开发进度比较缓慢的时候,已阻挡前端开发进度,这个时候mock就派上用场了,它可以模拟出接口,来进行前端页面的调试。
二、对于公司可以节约成本、节约时间,如果公司着急投标,可以用mock写模拟接口,前端拿到接口进行前端页面调试,做一个简版的系统,可以很快速的拿出一个演示系统给客户观看。
三、对于测试而言可以尽早的介入测试,接口文档评审通过后,可直接根据接口文档进行自动化测试case的编写,不用一直等待开发人员开发接口,在后端开发接口完成以后可以直接执行测试case。
moco-runner基本使用
下载moco-runner
地址:https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/
使用步骤
一、新建一个目录mocorunner,将moco-runner-1.2.0-standalone.jar件放入这个目录下
二、在该目录下新建demo.json文件并在json文件中填写接口信息
三、在该目录下执行
java -jar ./moco-runner-1.2.0-standalone.jar http -p 8888 -c demo.json
注:mocorunner动态加载配置文件,即更新接口文件后不需要重启服务就可以实时生效
利用json文件模拟接口请求
GET请求
[
{
"description":"这是一个带参数的get请求",
"request":{
"uri":"/demo",
"method":"get",
"queries":{
"param1":"1"
}
},
"response":{
"text":"返回这是一个带参数的get请求",
"headers":{
"Content-Type":"text/html;charset=gbk"
}
}
}
]
POST请求
[
{
"description":"这是一个带参数的post请求",
"request":{
"uri":"/demo",
"method":"post",
"forms":{
"param1":"1",
"param2":"2"
}
},
"response":{
"status":200,
"text":"返回这是一个带参数的get请求",
"headers":{
"Content-Type":"text/html;charset=UTF-8"
},
"json":{
"code":0,
"msg":"成功",
"data":"真的不错"
}
}
}
]
对模拟的请求进行测试
接口地址为:http://localhost:8888/demo
使用moco-runner模拟多个接口
一、新建global.json文件,并将"1.json"等多个接口描述文件放到config文件夹下
[
{
"include" : "config/1.json"
},
{
"include" : "config/2.json"
},
{
"include" : "config/3.json"
},
{
"include" : "config/4.json"
}
]
二、控制台执行语句
java -jar ./moco-runner-1.2.0-standalone.jar http -p 8888 -g global.json