盧二牛

5.iOS測試總結(jié)

1. 什么是Mock

當(dāng)我們在做單元測試的過程中,為了保持測試又短又快和測試的隔離性,希望盡可能少地去實例化一些具體的組件。在現(xiàn)在面向?qū)ο蟮南到y(tǒng)中,被測試的對象很可能會依賴于幾個其他的對象,這時候我們就可以使用Mock去代替實例化這些對象。簡單來說,Mock就是在測試中偽造的具有預(yù)定行為的具體對象的替身對象。因為被測試對象無法分辨出具體對象和替身對象的差別,所以可以用替身對象去代替具體對象執(zhí)行測試。

2. 使用Mock的好處

構(gòu)造一些使用具體對象難以構(gòu)造或難以出現(xiàn)的對象。如我們朝服務(wù)器(第三方服務(wù)器)發(fā)送請求,也許100次中只返回一次Error,而當(dāng)我們要測試返回Error情況下的系統(tǒng)的行為是否符合預(yù)期,使用具體對象完成比較困難,這時候就需要構(gòu)造MockObject。

減少一些耗時的操作,例如我們需要測試訪問數(shù)據(jù)庫,而訪問這個數(shù)據(jù)庫開銷巨大的時候,我們可以構(gòu)造一個“虛擬”的數(shù)據(jù)庫,讓這個數(shù)據(jù)庫返回我們期望的特定值即可。

甚至有時候因為需要內(nèi)網(wǎng)或者屏蔽等原因,無法連接服務(wù)器的情況,也可以使用“虛擬”一個網(wǎng)絡(luò)連接或服務(wù)器,讓它返回我們期望的數(shù)據(jù)即可。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式