2011-03-08 22 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 但你只是想让他们开火。记住你在这种情况下是从外部进行测试。