在日常接口测试的工作中,经常必须依赖其它平台的API,但是联调不常有,只能自己通过mock完成数据依赖。
对于Java栈的mock工具,ThoughtWorks的前工程师郑烨编写了Moco工具,并开源在GitHub「情感测试」,Moco repo:github.com/dreamhead/moco。
Moco的优点:
支持http、https、socket支持修改headers、cookies、statuscode支持GET、POST、PUT、DELETE请求只需JRE环境就能运行支持热更新支持json、xml、text、file数据格式能与JUnit、Maven、Gradle集成
Moco的缺点:
Moco的使用很简单,配置也很方便。但也只是是可Stub出接口,模拟出简单的画面。
如果接收至请求后必须做一些处置,如需查询数据库、运算、或者一些复杂的操作,就无能为力了。
但是在工作中,还是可以成为一个稳定的mock工具大量部署,应用于测试中的。
只应该按照mock要求,完成mock.json的配置,启动即可。
vim mock.json
[
{
"response": {
"text": "Hello Moco"
}
}
]
启动Moco,java -jar moco-runner-0.12.0-standalone.jar http -p 8080 -c mock.json。
TIPS:更多的开启参数,参看GitHub文档。
JSON中能够添加注释,利用description字段可以知道的表明接口的功能。
[
{
"description": "设定URI",
"request": {
"uri": "/uri"
},
"response": {
"text": "Hello Moco GET URI"
}
}
]
带参数GET请求,:8088/getparam?id=1&status=100,参数通过queries设置k-v对。
[
{
"description": "无参GET请求",
"request": {
"uri": "/get",
"method": "get"
},
"response": {
"text": "无参GET请求返回-success"
}
},
{
"description": "带参GET请求",
"request": {
"uri": "/getparam",
"method": "get",
"queries": {
"id": "1",
"status": "100"
}
},
"response": {
"text": "带参GET请求返回-success"
}
}
]
带参数POST请求,参数通过forms设置k-v对,需要借助工具发送POST请求。
广州及时雨私家侦探(广州本地私家侦探公司)
微信:185-2064-4544
电话:185-2064-4544
地址:广州市天河区