det*_*pro 5 asp.net-mvc unit-testing defaultmodelbinder modelbinders modelstate
第一; 我知道我不需要测试MVC的内部,但我真的需要套件测试流入我们系统的数据.
我希望如何在不模仿所有HTTP上下文的情况下,测试objectA(表单集合,字典,集合,对象等)是否符合objectAModel?
我不想实例化我的控制器或调用操作.我只是想测试我的新对象是否使模型状态无效.
我希望我能简单地写一下
var modelState = new ModelBindingContext<objectAModel>().validate(objectA);
Run Code Online (Sandbox Code Playgroud)
Brad Wilson在 DataAnnotations 上发表了一篇精彩的文章
\n\n\n\n我该如何测试它?
\n\n对模型使用 DataAnnotations 属性将验证从控制器操作移至模型绑定器中,这意味着控制器操作的单元测试将得到简化。
\n\n当您\xe2\x80\x99 为此编写测试时,\n 您需要验证三件事:
\n\n\n
\n- DataAnnotationsModelBinder 是否注册为默认绑定器?\n 您\xe2\x80\x99 只会对整个应用程序执行一次此操作,就像您将编写的路由\n 测试一样。
\n- 我的模型是否正确地使用 DataAnnotations 属性进行了修饰?\n 您\xe2\x80\x99 最终将为添加到模型中的每个验证属性编写测试。
\n- 当模型状态无效时,我的操作方法是否能正确反应?\n You\xe2\x80\x99ll 只需要为每个操作方法编写一次。
\n
| 归档时间: |
|
| 查看次数: |
1332 次 |
| 最近记录: |