首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单元测试ValidationRules

单元测试ValidationRules
EN

Stack Overflow用户
提问于 2013-07-19 03:10:27
回答 1查看 1.6K关注 0票数 2

我已经编写了一个小型的ValidationRules库,并希望确保它能通过大量的全面测试。我想对它们进行单元测试,但我不太确定如何对验证规则进行单元测试。我认为它类似于测试任何其他方法,但有几件事我不确定。

例如,我的一些验证规则具有我用来通过XAML传递参数的属性。我不想拿出一个黑客来做这件事,因为许多人会添加验证器并在我的单元测试套件上构建。

<utils:RestrictInputTypeValidator Restriction="IntegersOnly" ValidatesOnTargetUpdated="True"/>在此示例中,"Restriction“是验证规则”RestrictInputTypeValidator“的属性。

我还没有找到任何关于单元测试验证的好资源,我很想看看一些最佳实践的例子。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-19 03:19:17

您在XAML中使用的每个验证都派生自具有以下Validate重载的ValidationRule类:

代码语言:javascript
复制
ValidationResult Validate(object value, CultureInfo cultureInfo)

您只需在单元测试中调用此方法并检查返回的ValidationResult对象,该对象包含一个指示传递的值是否有效的IsValid属性。

因为这是一个与其他类类似的类,所以您可以像往常一样在单元测试中简单地传递所需的属性:

代码语言:javascript
复制
var validator = new RestrictInputTypeValidator()
validator.Restriction = MyRestrictionEnum.IntegersOnly;

// Here for example our input is invalid.
var result = validator.Validate("My Input", MyCulture);
Assert.IsFalse(result.IsValid);
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17731953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档