Asp.net mvc 如何对数据注释验证器进行单元测试

Asp.net mvc 如何对数据注释验证器进行单元测试,asp.net-mvc,validation,unit-testing,annotations,Asp.net Mvc,Validation,Unit Testing,Annotations,我正在实现数据验证验证器,如下所示: 这在运行时非常有效,但如何进行单元测试以验证如果我说attribute[StringLength(10)],则返回一个错误?Brad Wilson在一段时间前的文章中对此进行了很好的描述(您必须向下滚动一点)。基本上,您编写的测试使用反射来确保应用了正确的属性,然后信任框架来完成添加错误的工作。毕竟,有人在数据注释验证程序发布之前对其进行了测试-您只需确保正确使用它们=)Villecoder的这篇文章就是我正在使用的单元测试解决方案。它还允许您对自定义注释

我正在实现数据验证验证器,如下所示:


这在运行时非常有效,但如何进行单元测试以验证如果我说attribute
[StringLength(10)]
,则返回一个错误?

Brad Wilson在一段时间前的文章中对此进行了很好的描述(您必须向下滚动一点)。基本上,您编写的测试使用反射来确保应用了正确的属性,然后信任框架来完成添加错误的工作。毕竟,有人在数据注释验证程序发布之前对其进行了测试-您只需确保正确使用它们=)

Villecoder的这篇文章就是我正在使用的单元测试解决方案。它还允许您对自定义注释进行单元测试


您可以扩展您的
ModelBase
类来测试所有内容,而不仅仅是类级验证程序或属性级验证程序。。。您还应该一起测试整个模型状态。它将涉及更复杂的代码,但它将是实际的模型验证单元测试模型基类。