小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Mock與Stub的區(qū)別

 ThinkTank_引擎 2016-08-09

Mock:

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

何時(shí)使用Mock:

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

Mock的優(yōu)點(diǎn):

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

Mock的缺點(diǎn):

  • 不是銀彈,對(duì)于集成測(cè)試等粗粒度且耗時(shí)的測(cè)試不太適用。

Stub:

關(guān)注狀態(tài)驗(yàn)證。粗粒度的測(cè)試,在某個(gè)依賴(lài)系統(tǒng)不存在或者還沒(méi)實(shí)現(xiàn)或者難以測(cè)試的情況下使用,例如訪(fǎng)問(wèn)文件系統(tǒng),數(shù)據(jù)庫(kù)連接,遠(yuǎn)程協(xié)議等。

何時(shí)用Stub:

需要用到Mock或者Stub的情況,往往是測(cè)試的代碼存在依賴(lài),當(dāng)這種依賴(lài)難以實(shí)現(xiàn)或者不穩(wěn)定的時(shí)候可以考慮使用Stub策略,例如,需要測(cè)試的系統(tǒng),可能需要訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),依賴(lài)于運(yùn)行環(huán)境(安全性,存儲(chǔ),Web Service),或者需要訪(fǎng)問(wèn)遠(yuǎn)程文件系統(tǒng),訪(fǎng)問(wèn)遠(yuǎn)程協(xié)議(HTTP,SOAP)等。

由于現(xiàn)存的應(yīng)用的太復(fù)雜或者過(guò)于脆弱,修改它需要大量的人天。諸如不同系統(tǒng)之間的集成測(cè)試,類(lèi)屬于粗粒度的測(cè)試皆可考慮使用Stub。

Stub的優(yōu)點(diǎn):

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

Stub的缺點(diǎn):

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

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多