【问题标题】:SpecFlow and BDD in ASP.NET MVC ApplicationASP.NET MVC应用中的SpecFlow和BDD
【发布时间】:2011-07-11 04:01:20
【问题描述】:

我正在编写一些 BDD 风格的 Spec Flow 测试,运行顺利!现在,我可以测试是否触发了数据注释验证。我认为应该使用 WatiN 工具执行此测试,因为在发布表单中的值时会触发 UpdateModel。

您如何测试验证是否触发?

【问题讨论】:

    标签: asp.net-mvc bdd specflow


    【解决方案1】:

    您可以通过多种方式做到这一点。您不必使用 WatiN 来检查验证,我正在使用 SpecFlow 调用控制器方法,然后询问 ModelState 属性,检查我输入的无效数据会引发的错误。

    您还可以使用 WatiN 通过附加到浏览器并使用 Find.ByText("Error Message") 方法来检查特定的错误文本是否显示在屏幕上。

    如果您还没有阅读这篇文章,我强烈建议您阅读这篇文章,它在开始使用 SpecFlow/WatiN 和 BDD 时对我有很大帮助: http://msdn.microsoft.com/en-us/magazine/gg490346.aspx

    希望对您有所帮助。

    【讨论】:

    • 但是,如果您在 ViewModel 属性上使用 DataAnnotations,您如何触发验证?
    【解决方案2】:

    通过使用无效数据测试它们...(和有效数据)

    如果你的模型有一个注释,你可以写一个像

    这样的场景
    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 但你只是想让他们开火。请记住,在这种情况下,您是从外部进行测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-20
      • 1970-01-01
      • 2011-05-08
      相关资源
      最近更新 更多