stub和mock的區別

2021-08-31 06:40:57 字數 525 閱讀 3568

*** 

關於stub & mock的確別:

1.先說不同點:

stub方法裡面需要實現邏輯,因為對stub的呼叫者需要依賴,stub模組或函式的返回值,正因為此,搭建stub跟mock比起來,是比較耗費精力的。也正因為此,stub一般用於粗粒度測試。

而mock的關鍵則是他要足夠啥,只要能夠讓他的依賴者與之進行足夠的互動既可以,正因為他傻,所以他的編寫相對較容易,也正因為他傻,建立mock的工作可以由easymock,mockmaker來自動完成,也正因為此,他可以用作細粒度的測試。

2.再說相同或想聯絡的地方。

都能夠對系統進行隔離,

測試的很多時候我們會把乙個mock退化成乙個簡單的stub,大多數的mock生成工具也都支援這一點。從這一點我們也可以看出,雖然作為很不同的兩個概念,但他們之間也不是永遠有著嚴格的界限。

其他的呢?關於設計與使用上的更多考量呢? 呵呵 這裡推薦martin fowler

的一篇文章,文章很好,是naias寶寶

發給我的,感謝naias寶寶。:)

stub 和 mock 有什麼區別

在網上看到以下的描述就 stub vs mock 進行比較 在測試中,經常涉及到對依賴 的處理,這將涉及到系統的結構的設計。乙個好的設計,必然是容易測試的。之間的依賴被極大的隔離開來,很容易的進行測 試。如何對對其他層具有依賴的 進行測試呢?可以有兩種方法 引入stub和引入mock。那麼這兩者之間...

軟體測試中Mock和Stub

1.stub 與mock 1 相同點 stub 和mock 物件都是用來模擬外部依賴,使我們能控制。如果被測程式 系統或物件,我們稱之為 a。在測試 a的過程中,a需要與程式 系統或物件 b進行互動,那麼 stub mock 就是用來模擬 b的行為來與 a進行互動。2 不同點 stub 也即 樁 很...

TDD 什麼是樁(stub)和模擬(mock)?

由上圖可以知道mock框架可以非常容易的開發stub和mock,但是stub框架想要提高mock機制就要靠自己擴充套件了。stub存在的意圖是為了讓測試物件可以正常的執行,其實現一般會硬編碼一些輸入和輸出,下面的 使用了ms自帶的fake和shim來實現stub。fake實現 1 using sys...