模擬物件(一)

2021-09-07 23:25:54 字數 830 閱讀 9714

互動測試用來測試乙個物件如何向另乙個物件傳遞訊息,或者如何從其他物件接收訊息,即測試物件如何與其他物件進行互動。

模擬物件是系統中的乙個偽物件,用來決定乙個單元測試是通過還是失敗。它通過驗證被測物件和偽物件之間是否進行預期的互動來判斷。通常每個測試只有乙個偽物件。

樁物件和模擬物件的區別:使用樁物件時,斷言是針對被測類執的。使用模擬物件時,斷言是針對模擬物件的。

下面通過實際例子,演示模擬物件的使用。

loganalyzer類接收到乙個長度太短的檔名時,就傳送乙個錯誤資訊給乙個外部的web服務。

public class loganalyzer

public void analyzer(string filename)

}}

模擬物件mockservice模擬web服務,接收loganalyzer發出的資訊,然後針對接受的資訊進行斷言。  

介面的定義如下:

public inte***ce iwebservice

模擬物件的定義如下:

public class mockservice : iwebservice

}

測試的目的是測試loganalyzer和web伺服器之間的互動。斷言是針對模擬物件,而不是針對loganalyzer類。

[testfixture]

public class loganalyzertests

}

模擬物件(二)

本文演示同時使用樁物件和模擬物件。當檔名太短時,loganalyzer傳送錯誤訊息給web伺服器。web伺服器出錯時,傳送郵件給管理員。有上述業務可知,loganalyzer有兩個外部依賴 web服務和郵件服務。現在測試loganalyzer在web服務丟擲異常時正確呼叫了郵件服務。樁物件 使web...

模擬物件測試技術Mock(一)

因為目前專案時間比較緊 乙個月的開發周期 並且,工作流的測試步驟也比較多,所以,我決定採用一種模擬物件測試技術 mock。mock可以為介面生成模擬物件,從而在我們寫實現 之前就檢查其邏輯和互動行為是否正確。我們選用的mock框架是moq 3,基於lambda語法的一款非常簡單的mock框架。1ie...

php模擬物件提交 用php模擬post來提交資料

用php模擬post來提交資料 lantu 2010 01 12 15 31 29 閱讀 21023 利用php的socket程式設計來直接給介面傳送資料來模擬post的操作。name post 測試程式 vesion 1.0 date 2004 08 05 flag 0 要post的資料 ar a...