2011-03-08 21 views
1

我正在寫一些BDD樣式的Spec Flow測試,它正在順利運行!現在,我可以測試數據註釋驗證是否被觸發。我在考慮應該使用WatiN工具來執行此測試,因爲UpdateModel在表單中的值被髮布時觸發。ASP.NET MVC應用程序中的SpecFlow和BDD

您如何測試驗證是否正在解僱?

回答

4

有很多方法可以做到這一點。您不必使用WatiN來檢查驗證,我使用SpecFlow調用控制器方法,然後詢問ModelState屬性,檢查我希望從輸入的無效數據中引發的錯誤。

您還可以使用WatiN來檢查屏幕上顯示的特定錯誤文本,方法是查看瀏覽器並使用Find.ByText(「錯誤消息」)方法。 http://msdn.microsoft.com/en-us/magazine/gg490346.aspx

希望幫助:

如果您還沒有我強烈建議有這篇文章的讀,與SpecFlow /華廷和BDD開始出來的時候幫助了我很多。

+0

但是,如果您在ViewModel屬性上使用DataAnnotations,那麼您如何激發驗證? – azamsharp 2011-03-08 21:11:22

0

通過與無效數據...(以及有效數據)

如果模型有一個註釋只是它火值,你可能會寫這樣

Scenario: Adding an invalid user 
GIVEN I am in the add user page 
AND I have not filled in the name 
WHEN I Add 
THEN I should see the error defined in my annotation 

更多的測試註釋的情況下測試他們在這裏http://bradwilson.typepad.com/blog/2009/04/dataannotations-and-aspnet-mvc.html 但你只是想讓他們開火。記住你在這種情況下是從外部進行測試。