背景:相信經(jīng)常有這種情況转砖,后端定義好了接口文檔恢筝,但是還沒開發(fā)蔫仙,這時候前端或者客戶端就無法進行聯(lián)調(diào)料睛,只能通過自己偽造數(shù)據(jù)進行開發(fā)。
偽造數(shù)據(jù)這個過程摇邦,就叫做mock
但是總是因為各種各樣的情況恤煞,不能總拿死數(shù)據(jù)來開發(fā),需要一些隨機數(shù)據(jù)涎嚼,這樣才能更好的覆蓋整個用例的可能性
mock的方法其實很多:
本地寫死返回值阱州,抓包工具斷點篡改返回值挑秉,本地結(jié)果替換等等法梯。
這次介紹的是使用mock這個開源項目進行隨機返回值的替換
Mock.js雖然名字是js,不過可不限于前端喲
部署的方式很多犀概,比如部署專門的服務(wù)器立哑,或者本地部署等等
但是我比較菜,也比較懶姻灶,我就直接用別人部署好的服務(wù)器進行使用铛绰,其他的部署方式就需要各位老哥自行學(xué)習(xí)了。
先介紹一個網(wǎng)站
Easy Mock
登錄進去以后产喉,創(chuàng)建你的第一個項目
創(chuàng)建完畢以后就會有一個項目出現(xiàn)在你的首頁了捂掰,點擊該項目
例如我這里創(chuàng)建了一個wx項目敢会,點進去就可以看到
正常在開發(fā)過程中,肯定是有正式環(huán)境这嚣、開發(fā)環(huán)境這種區(qū)分的鸥昏,除了域名不一樣,后面的接口拼接都是一樣的姐帚,在這里也是一樣的吏垮。只需要將你某個環(huán)境下的域名或者ip替換成圖中的baseURL即可,至于怎么替換罐旗,在接下來會講到膳汪。
我們舉個例子來理解一下。
我們的域名為:http://www.baidu.com
有一個獲取版本號的接口為:http://www.baidu.com/common/version/ios
還有一個獲取helloworld的接口為:http://www.baidu.com/helloworld
可以看到九秀,所有的請求的baseurl都是http://www.baidu.com遗嗽,接口只是在后面拼接。我們先到easymock上建立獲取版本號的接口鼓蜒。
點擊創(chuàng)建接口
具體的返回值的語法規(guī)則這里就不說了媳谁,直接在官網(wǎng)能查到,沒有寫的必要
語法規(guī)范
這樣我們就得到了一個mock接口
接下來就是替換域名的操作了
我們需要用到的工具是Charles
因為Charles可以對子集全部代理友酱,所以這里我們選擇charles晴音,當然,如果你可以配置node服務(wù)進行跨域也是ok的缔杉,方式有多種锤躁,目的都是一個,替換baseURL
注意需要使用通配符或详,至于啥叫通配符就百度一下吧~~
ok系羞,至此,Charles配置完畢霸琴,讓我們看看效果椒振。
如圖,我寫了一個網(wǎng)絡(luò)請求梧乘,地址是http://www.baidu.com/common/version/ios
在抓包中得到了什么呢
結(jié)束語
其實很簡單澎迎,不過各位該錘后臺的還是要錘,畢竟前臺后臺选调,相愛相殺夹供,hhhh