Mock:關(guān)注行為驗證。細(xì)粒度的測試,即代碼的邏輯,多數(shù)情況下用于單元測試。 何時使用Mock:
Mock的優(yōu)點:
Mock的缺點:
Stub:關(guān)注狀態(tài)驗證。粗粒度的測試,在某個依賴系統(tǒng)不存在或者還沒實現(xiàn)或者難以測試的情況下使用,例如訪問文件系統(tǒng),數(shù)據(jù)庫連接,遠(yuǎn)程協(xié)議等。 何時用Stub:需要用到Mock或者Stub的情況,往往是測試的代碼存在依賴,當(dāng)這種依賴難以實現(xiàn)或者不穩(wěn)定的時候可以考慮使用Stub策略,例如,需要測試的系統(tǒng),可能需要訪問數(shù)據(jù)庫,依賴于運行環(huán)境(安全性,存儲,Web Service),或者需要訪問遠(yuǎn)程文件系統(tǒng),訪問遠(yuǎn)程協(xié)議(HTTP,SOAP)等。 由于現(xiàn)存的應(yīng)用的太復(fù)雜或者過于脆弱,修改它需要大量的人天。諸如不同系統(tǒng)之間的集成測試,類屬于粗粒度的測試皆可考慮使用Stub。 Stub的優(yōu)點:
Stub的缺點:
|
|
來自: ThinkTank_引擎 > 《測試》