需要模擬第三方接口測試並調用,找了很多mock工具,在git上找到了moco,學習一番,分享一下。
一、下載moco,moco地址
下載后,是一個jar包。
二、配置moco的配置文件
(1)在jar包的同目錄下進行創建文件config.json:
(2)配置config.json(這里的配置主要是配置模擬第三方接口的請求值,返回值,請求頭等):
常用配置(注意要將其中的中文注釋刪除):
(1)
{ "request": { "method":"post", #模擬請求方法 "uri":"/jiekou", #模擬請求的接口名 "text": { "json":"{\"id\":\"12306\",\"name\":\"moco\"}" #約定請求的正文,為json格式,並且正文內容為{"id":"12306","name":"moco"}(注意這里的雙引號要轉義) "headers": { "content-type":"application/json" #約定請求頭 } }, "response": { "status":"200", #返回狀態為200 "text":"ceshi" #返回正文為ceshi } }
(2)
{ "request": { "headers":{"Content-Type":"application/json;charset=UTF-8"}, #約定請求頭 "method":"post",#約定請求方法 "uri":"/jiekou2",#約定請求接口名 "text": { "json":"{\"type\":\"1\",\"data\":{\"citeCaseId\": \"11111111\",\"party\": [{\"partyId\": \"001\",\"name\": \"張三\",\"agent\":[{\"agentId\": \"002\"},{\"agentId\": \"002\"}]}]}}" #約定請求json } }, "response": { "status":"200",#約定返回狀態 "json":{"code":101,"message":"必要參數缺失。"} #約定返回值為json,並且內容為{"code":101,"message":"必要參數缺失。"} } }
(3)
{ "request": { "headers":{"Content-Type":"application/json"}, #請求頭 "method":"post", #請求方法 "uri":"/getList",#請求接口名 "text": { "json":"{\"sasj\":\"20100101\",\"tbsj\":\"20100101\",\"fywid\":\"88888\",\"Token\":\"1\",\"Pagenumber\":\"1\"}" #請求正文 } }, "response": { "file":"ceshi.xml" #請求返回文件(可以返回xml中的內容,將放在與jar包同級目錄下即可) } }
注:若要同時模擬多個接口,可以用[ ]括起來,並用,分割,也就是json的格式。
三、啟動mock:
在搜索欄中輸入cmd並回車:
java -jar moco-runner-0.12.0-standalone.jar http -p 8881 -c config.json
運行成功。直接使用postman或者其他接口調用工具調用接口即可。