2010-03-29 48 views
2

使用現有的使用ASP.net WebForms的n層Web應用程序,獲得應用程序TDD接受的最佳方法是什麼?什麼是一個很好的計劃,以獲得開發人員的認可,以便在TDD實施陷入困境的同時,開始編寫測試代碼,而不是忽略測試?將TDD複製應用於ASP.Net webforms

瞭解將會有一個低覆蓋率的大「in-limbo」時間: 您開始爲第一個測試編寫測試模型的哪些區域?關鍵使用領域,還是新的發展?

+5

Tdd是從一開始就「融入」整體設計的東西。追溯TDD是艱難的。 – Pierreten 2010-03-29 16:59:01

+0

http://stackoverflow.com/questions/342693/unit-testing-legacy-asp-net-webforms-legacy-applications可能的副本 – 2010-03-30 20:50:57

+0

@Pierreten - 我會盡可能地說「retroactive tdd」是不可能作爲「追溯體外概念」。我認爲真正被問到的是如何獲得現有代碼的單元測試覆蓋率以及如何將開發過程改爲TDD。 – JeffH 2010-04-14 19:14:58

回答

2

我同意womp,單元測試和WebForms很難。特別是如果你的大部分邏輯嵌入在文件後面的代碼中。

我發現它首先使用硒等功能創建功能測試很有幫助。隨着一些體面的功能測試覆蓋面,我可以開始重構,並隨時添加單元測試。

+0

我同意。在這種情況下改進單元測試非常困難。然而,使用Selenium,W​​atiN或者VS2010的新測試工具來加強驗收測試非常簡單。 – 2010-04-13 13:14:46

2

ASP.Net webforms由於內建在靜態HttpApplication和HttpContext對象上的依賴性以及Page生命週期的抽象抽象性,因此非常難以構建單元測試。這就是說,開始爲新代碼編寫測試,而不是花時間回顧並覆蓋舊代碼總是容易得多。舊代碼將需要重新構建,以便進行適當的測試。