我只是想知道其他人如何在asp.net mvc中測試控制器動作?我的大多數依賴項都被注入到我的控制器中,所以在操作方法中沒有大量的邏輯,但可能有一些條件邏輯,例如我認爲這是不可避免的。asp.net mvc控制器動作測試
在過去,我已經爲這些操作方法編寫了測試,嘲笑了依賴關係並測試了結果。我發現這是非常脆弱的,並且需要一個真正的PITA來維護。讓'Expect'和'Stub'方法在每個地方都很容易中斷,但是我沒有看到任何其他測試控制器操作的方式。
我實際上認爲手動測試它們可能更容易!任何人有任何建議?也許我在這裏失去了一些東西?
感謝
伊姆蘭
我同意,我已經看到樣品和博客與控制器談論TDD,並一直想知道您從中獲得多少收益。我都是爲TDD設計的,但不知爲什麼編寫控制器的測試會把大部分工作交給其他組件。我同意這些將是真正的集成測試。 我在想這個的主要原因是爲了減輕迴歸測試。如果我對網站進行了更改,我會進行通常的單元測試,但也有可能某些視圖或控制器可能在此過程中發生故障。目前看起來我會通過手動測試。 – Imran 2010-05-16 15:34:49
那麼控制器中總是有一些邏輯,或者爲什麼有它們?我會測試你寫的那個邏輯是*那裏。例如,它將正確的工作交給正確的組件並在那裏停止。 – Haacked 2010-05-18 07:40:40
不過,正是這種基於交互的測試,我發現它非常脆弱。我認爲我可能會將控制器測試限制爲諸如異常處理和參數驗證之類的事情作爲折衷。或者我想,只是測試正確的組件被調用就足夠了,而不是對它們被調用的參數設置具體的期望值等。 – Imran 2010-05-18 14:20:23