2013-06-24 83 views
0

目前正在開發一個MVC應用程序,該應用程序有一個註冊表格,其中有12-14個字段,用戶需要填寫以註冊我們的網站。關於用戶輸入有兩個要求,令人驚訝的是,他提供了一個唯一的電子郵件和一個唯一的用戶名,但仍然不存在於我們的數據庫中。我已經有了關於這些驗證的測試,並且剩餘的用戶輸入正確性留給驗證模型中的記號,如日期格式和密碼強度要求等,如下所示:我應該測試用戶註冊?

[Required(ErrorMessage = "Your password is required")] 
[StringLength(20, MinimumLength = 8, ErrorMessage = "Must be between 8 and 20               characters")] 
[RegularExpression(@"(?=^.{8,}$)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s)[[email protected]#$%^&*()]*$", ErrorMessage = "Needs to have lowercase, uppercase and a number")] 
[Display(Name = "Password")] 
public string Password { get; set; } 

沒有測試這些符號,我想唯一的測試,我需要寫這個邏輯是那些有關驗證用戶名和電子郵件的獨特性和記錄添加到數據庫,這一點我已經有了,但我擔心,只有3次測試可能太少。儘管我認爲(並且誠實地希望)我不需要爲開箱即用的符號驗證進行測試,但是我希望從更有經驗和不太懶惰的人那裏聽到:)另外,如果您可以指出關於在用戶註冊時應該測試什麼的一些通用規則,這將是很好的。

回答

1

如果你有一天決定重寫RegularExpression類,你會知道你的測試是否失敗。由你決定在哪裏畫線。我會說這是一個小小的努力。

1

首先,不要爲了寫它們而寫單元測試。往往他們最終沒有用,也沒有真正證明任何事情。

這些是我通常會寫測試的東西。

  • 業務需求。企業已經要求這些,所以你最好確保他們的工作。
  • 正常流量/使用情況。一般測試證明它的行爲方式如何。
  • 邊緣情況。它們可能不會經常發生,但會通過測試覆蓋它。
  • 錯誤。需要證明那個壞男孩是歷史。
  • 培根。總是測試培根。
+0

嗯,我想我已經覆蓋了1,2和3。我仍然不知道如何進行bug測試,因爲現在我無法想象我的應用程序可能會出現什麼問題。我知道我會付出一天的時間來說... –

+0

我的意思是錯誤是,每當你發現一個錯誤並修復它時,寫一個測試來證明它是固定的。 –