溫馨提示:急性子可以直接拉到最后觀看方法步驟潜支。
什么是mock?
mock就是在開發(fā)過程中柿汛,對于某些不容易構(gòu)造或者不容易獲取的對象冗酿,用一個虛擬的對象來創(chuàng)建以便測試開發(fā)的方法。
使用mock有什么好處络断?
1.團(tuán)隊(duì)可以更好地并發(fā)工作
并發(fā)已烤?沒錯,技術(shù)人員就應(yīng)該用并發(fā)這個詞妓羊。使用mock胯究,各團(tuán)隊(duì)之間可以不需要再互相等待對方的進(jìn)度,只需要約定好相互之間的數(shù)據(jù)規(guī)范(文檔)躁绸,即可使用mock構(gòu)建一個可用的接口裕循,可以更快的進(jìn)行開發(fā)和調(diào)試以及自測,提升開發(fā)進(jìn)度的同時(shí)净刮,也將發(fā)現(xiàn)缺陷的時(shí)間點(diǎn)大大提前剥哑。
2.開啟TDD(Test-Driven Development)模式,傳說中的測試驅(qū)動開發(fā)
單元測試是TDD的常規(guī)操作淹父,試想一下株婴,當(dāng)你測試過程中,某些協(xié)同模塊沒有完成暑认,如何進(jìn)行測試困介?這時(shí)mock就能很好的幫助你解決這個問題。當(dāng)接口定義好后蘸际,測試人員就可以創(chuàng)建一個mock座哩,把接口添加到自動化測試環(huán)境,提前創(chuàng)建測試粮彤。
3.測試覆蓋率
比如一個接口在各種不同的狀態(tài)下要返回不同的值根穷,我們的傳統(tǒng)的做法是復(fù)現(xiàn)這種狀態(tài)然后再去請求接口,這是非常不科學(xué)的做法导坟,而且這種復(fù)現(xiàn)方法很大可能性因?yàn)椴僮鞯臅r(shí)機(jī)或者操作方式不當(dāng)導(dǎo)致失敗屿良,甚至污染之前數(shù)據(jù)庫中的數(shù)據(jù)。如果我們使用mock惫周,就完全不用擔(dān)心這些問題尘惧。
4.方便演示
通過使用mock模擬數(shù)據(jù)接口,我們即可在只開發(fā)了UI的情況下闯两,無須服務(wù)端的開發(fā)就可以進(jìn)行產(chǎn)品的演示褥伴。
5.隔離系統(tǒng)
在使用某些接口的時(shí)候,為了避免系統(tǒng)中數(shù)據(jù)庫被污染漾狼,我們可以將這些接口調(diào)整為mock的模式重慢,以此保證數(shù)據(jù)庫的干凈。
如何使用mock逊躁?
mock有很多的在線平臺似踱,基本上都要注冊,并且不穩(wěn)定稽煤。所以longyoung我就萌發(fā)了一個想法核芽,能不能本地搭一個mock,方便快捷酵熙。即使沒網(wǎng)也可以工作轧简,是不是很爽?在上網(wǎng)找了一圈匾二,發(fā)現(xiàn)沒有比較簡單的方法哮独,后來通過努力,終于實(shí)現(xiàn)了察藐。方法很簡單皮璧,因此不是特別智能,后期可以想辦法升級下方法分飞。廢話少說悴务,直接上步驟:
1.安裝Node.js,請自行搜索安裝譬猫。
2.隨便到一個目錄下創(chuàng)建一個文件存放json數(shù)據(jù)讯檐,如:test.json。
3.cd命令切換到文件目錄(如:D:\gittest\test)染服,執(zhí)行命令:http-server -p 5050裂垦。-p是指定端口的意思,訪問的時(shí)候記得加端口號肌索。
4.訪問方法:http://192.168.3.252:5050/test.json蕉拢。ip+端口+文件名(包含后綴)。
PS:本文原創(chuàng)發(fā)于微信公眾號longyoung诚亚,關(guān)注并回復(fù)「51電子書」免費(fèi)領(lǐng)取程序員必讀經(jīng)典電子書晕换。