一宾符、什么是Mock
以可控的方式模擬第三方接口行為的假的對象酿秸,很類似汽車設(shè)計者使用碰撞測試假人來模擬車輛碰撞中人的動態(tài)行為。
二吸奴、 mock為了解決什么問題允扇?
項目有對接第三方缠局,但第三方的控制權(quán)卻不受我們掌控。
比如說支付中最常用的刷卡支付考润,有可能直接支付成功狭园,也有可能返回支付中,此邏輯受平臺方風(fēng)控邏輯校驗糊治,對我們來說完全是黑盒子唱矛,為了讓我們的測試能夠更加全面,讓第三方接口返回我們想要的結(jié)果井辜,所以利用mock來返回我們預(yù)期想要的結(jié)果绎谦。
三、什么時候使用mock粥脚,目前我們最常使用的場景:
1窃肠、依賴的接口不穩(wěn)定,導(dǎo)致經(jīng)常執(zhí)行的用例不通過刷允,需要耗費(fèi)大量的時間排查非被測目標(biāo)本身之外的環(huán)境問題
2冤留、第三方接口行為是不確定的,沒有辦法返回預(yù)期結(jié)果
例如树灶,刷卡支付根據(jù)平臺方的風(fēng)控邏輯校驗纤怒,有可能直接支付成功,也有可能返回支付中
3天通、第三方接口某些的行為很難觸發(fā)(例如:網(wǎng)絡(luò)錯誤)泊窘;
4、第三方接口可能還沒有開發(fā)好
例如:A部門的某個接口還沒有開發(fā)好像寒,但是B部門的業(yè)務(wù)需要使用到這個接口烘豹,就可以先mock掉A的接口,來減少A對B進(jìn)度的影響
5萝映、第三方接口做了信息真實性校驗吴叶,測試數(shù)據(jù)無法通過返回接口
例如:微信商戶入駐以及所有的支付接口