2011-08-18 204 views
4

我是一個.NET開發人員很長一段時間,我試圖總結各地真實的,實用的單元測試我的頭。賣我的單元測試

最特別地,我期待在單元測試ASP.Net MVC 3個項目。

我讀過關於它的體面的數額,並相信我的理解是在學術層面(即基本可確保你不會變化打破其他的東西)。然而,我看過的所有測試都是非常愚蠢的東西,無論如何都會是一個非常明顯的問題(這個控制器是否會返回一個帶有這個名字的視圖?)。因此,也許我錯過了一些東西,或者只是沒有看到任何真正好的測試示例或其他東西,但它真的看起來像一大堆額外的工作和複雜性與嘲笑,ioc等,我是隻是沒有看到相反的平衡收益。

教我,請:)

+0

http://stackoverflow.com/questions工作/ tagged/unit-testing?sort = votes&pagesize = 50 – Will

+2

它的唯一$ 4.95? –

+0

你基本上是說你沒有看到使用代碼來測試你的應用程序,並且它假設QA測試會找到所有的東西。記住單元測試,一個很大的優勢是隨着應用程序變得更加複雜,它有助於確保原始功能不會中斷。你說的測試是微不足道的,是的,但可以大大幫助。更好的選擇是測試業務邏輯。它很難演示這個 - 幾乎每個應用程序都有不同的要求。測試你的驗證代碼在用戶離開前例時是否有效。一個電子郵件地址,你不能保存你的破碎的對象。 –

回答

0

給予適當的單元測試,這幾乎是微不足道趕上角的情況下,將具有其他溜過去了你。假設您有一種方法返回項目列表,並且從某個表中檢索項目列表。如果該表不正確填充,會發生什麼(例如,如果有一個在一列或空空值),或者如果他們改變了列類型的東西你的ORM工具不映射像你想的那樣?單元測試有助於在生產之前捕獲這些案例,並且有人會刪除表中的所有數據。

0

基本上可確保您所做的更改會不會破壞其他的東西

這不是單元測試,但regression testingUnit testing用於單獨測試最小的代碼片段(通常在課堂級別)。這在項目很小或者沒有課程的情況下並不是很有用。

有很多情況下,某些形式的單元測試(通常與其他表單混合使用,例如,如果我有時間,我喜歡使用mock testing)非常有用。假設你有一個大型項目,擁有大約20多個課程,並且其中一個課程出現錯誤。您可能需要徹底講解每個課程,並確保其方法返回正確的信息。這是單元測試。

總之,當你需要測試特定的類,或特定的方法,以確保它們的功能單元測試時使用。這是一個容易得多了程序,找出問題,當您用最小的單位工作,並通過整個程序不走,找出哪些方法是不對的