stub 和 mock 有什麼區別

2021-05-23 08:25:49 字數 561 閱讀 3492

在網上看到以下的描述就 stub vs mock 進行比較:

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

在理解其區別之前,需要明白一點,他們都是為了同乙個目標而出現的,代替依賴部分,讓原先的「整合測試」簡化為「單元測試」。

mock:使用easymock等包,在程式**中向被測試**注入「依賴部分」,通過**可程式設計的方式模擬出函式呼叫返回的結果。

stub:自己寫**代替「依賴部分」。它本身就是「依賴部分」的乙個簡化實現。

實際上,在能夠使用mock的時候,就不應該選擇使用stub。但是有時候是必須使用stub的,例如在對遺留**進行測試時,該部分**不支援「注入」,那麼只能將「替代」這個過程外移,使用stub完成此任務了。

stub和mock的區別

關於stub mock的確別 1.先說不同點 stub方法裡面需要實現邏輯,因為對stub的呼叫者需要依賴,stub模組或函式的返回值,正因為此,搭建stub跟mock比起來,是比較耗費精力的。也正因為此,stub一般用於粗粒度測試。而mock的關鍵則是他要足夠啥,只要能夠讓他的依賴者與之進行足夠的...

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

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

有什麼區別

01 02.程式的版權和版本宣告部分 05.檔名稱 test.cpp 06.作 者 王雅萍 07.完成日期 2014年 4 月 15 日 08.版 本 號 v1.0 09.對任務及求解方法的描述部分 10.輸入描述 無 11.問題描述 12.程式輸出 13.問題分析 略 14.演算法設計 略 inc...