日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Mock與Stub的區(qū)別

 ThinkTank_引擎 2016-08-09

Mock:

關(guān)注行為驗證。細(xì)粒度的測試,即代碼的邏輯,多數(shù)情況下用于單元測試。

何時使用Mock:

  • 真實對象的行為具有不確定性。
  • 真實對象難以創(chuàng)建。
  • 真實對象的行為難以模擬(例如網(wǎng)絡(luò)錯誤)。
  • 真實對象運行效率很低。
  • 真實對象有或者是UI。
  • 測試需要得到某個對象列表,但是真實對象必須在某種環(huán)境下才能提供。
  • 真實對象還沒實現(xiàn)。

Mock的優(yōu)點:

  • 運行速度快,測試覆蓋率高,容易實現(xiàn)且可以形成良好的測試文檔。

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)點:

  • 能彌補(bǔ)Mock的不足,能夠模擬復(fù)雜的測試環(huán)境。

Stub的缺點:

  • Stub往往比較復(fù)雜難以實現(xiàn),而且需要經(jīng)常性的調(diào)試它。
  • 由于Stub模擬的都是難以測試的環(huán)境依賴,其復(fù)雜性導(dǎo)致它難以維護(hù)。
  • 實現(xiàn)Stub并不能提供細(xì)粒度的單元測試。
  • 不同的情況需要不同的Stub實現(xiàn)策略。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多