我的單元測試的方法說ABC()
像單元測試使用VS2010
myclass target = new myclass();
target.ABC();
反過來這ABC()方法調用來自不同類的另一種方法XYZ()之類anotherclass.XYZ()
這XYZ()方法的輸入參數取決於來自文本框的值。
因爲在測試運行時沒有傳入文本框的值我在運行測試時收到空引用異常(我的意思是測試失敗,出現異常)。
類似的情況(另一人):從方法的查詢字符串像
HttpContext context
id = context.request.querystring["id"]
由於獲取的值id,在試運行這個ID值是零,我得到一個空referrence異常(我的意思是測試失敗除外)。
據我瞭解,這在邏輯上是正確的,因爲這是試運行,而不是實際的運行,但仍希望再次確認...
難道我做錯了什麼?
或
我的測試功能是否正確?
請建議。感謝你的幫助。
謝謝。
您需要查看像Moq這樣的模擬框架,以便您可以使用模擬對象作爲依賴關係,並通過模擬框架控制依賴關係調用的結果。 –
羅素,我知道,但你將如何嘲笑我的情況(我說過的一句話)......我不知道 – Rahul
按照現在設計的方式正確地單元測試你的代碼是不可能的。爲了正確地進行單元測試,你需要抽象所有東西 - 通常是對接口進行編碼而不是具體的類,並將接口傳遞給需要依賴的任何東西。 –