2012-11-14 99 views
3

我想了解爲簡單場景編寫單元測試,並找不到任何簡單的東西。比方說,我有以下兩個表單字段Web表單:我該如何測試這個簡單的表格

FirstName 
LastName 
在後端

,我有這個類:

class User 
{ 
    public string FirstName {get;set;} 
    public string LastName {get;set} 
} 

,這些表單字段映射到,然後我保存到數據庫與普通的舊ADO.NET(沒有框架)。我沒有驗證,只是通過INSERT語句保存。

單元測試在哪裏適合?我可以寫什麼單元測試?這甚至值得測試嗎?如果我有驗證功能,那麼我可以測試它們,對吧?

謝謝。

回答

1

你不是真的單元測試窗體和用戶界面。你要做的是將你的用戶界面分成兩部分:呈現並返回給客戶端的HTML和服務器端部分。這實際上是集成測試的一部分,而不是單元測試。請注意,儘管它不是一個單元測試,但您仍然可以完全自動化集成測試(這意味着像NUnit這樣的單元測試框架並不合適,您需要製作自己的工具)。

您可以通過獲取HTML並通過HTML分析器(如HtmlAgilityPack)運行它並確保頁面中的所有URI返回200並且所有表單域都存在正確的name=""來測試客戶端部件屬性。

然後,您可以單獨測試服務器端部件,方法是提交帶有示例數據的POST表單請求的程序,然後直接檢查數據庫並確保新提交的數據現在位於數據庫中正確的格式。您將使用專用的測試數據庫,因爲針對生產數據庫運行測試工具絕不是一個好主意。

我不能告訴你是否值得爲自己的應用程序編寫自動化測試 - 如果不是超過編寫應用程序代碼的時間,通常可能需要很多時間。你這樣做是爲了確保在安全關鍵或關鍵任務系統中的正確性。要問的一個簡單問題是「如果我的程序不正確,人們會死/受傷還是會損失金錢?」,如果答案是「是」,那麼您應該這樣做。

像這些測試也可以用於運行應用程序來監視「應用程序健康狀況」。例如,我用一個應用系統編寫了與公共電話系統的接口,所以我需要編寫一個測試程序來確保應用程序成功撥打電話)。

相關問題