【发布时间】:2011-12-06 18:20:09
【问题描述】:
我有一个自定义验证器属性,我正在尝试对其进行单元测试。在我的单元测试中,我正在执行以下操作。
var testModel = new TestModel();
var testContext = new ValidationContext(testModel, null, null);
var attribute = new MyCustomAttribute();
attribute.Validate(testModel, testContext);
当调用attribute.Validate 时,它会正确调用我的IsValid 方法,但attribute.Validate 是void,所以显然不会返回任何内容。任何关于如何获得ValidationResult 的想法的想法将不胜感激。
在阅读了ValidationAttribute.Validate 方法之后,看起来如果验证失败,它会抛出ValidationException,所以这回答了我的问题。
【问题讨论】:
-
在这里大声思考。如果您的验证成功,那么您不应该在错误字典中有任何验证错误 - 因此检查它是否为空是一项测试。然后我会以同样的方式测试特定的错误。
标签: asp.net-mvc-3 validation custom-attributes