【发布时间】:2021-07-01 18:10:03
【问题描述】:
我正在使用http://fluentvalidation.codeplex.com/ 来验证一些域模型。
我有一个典型的场景,我想验证一个字符串,例如...
RuleFor(x => x.MyString).NotNull().NotEmpty().Length(2, 20).WithMessage("Please provide a string with a minium of 2 characters.");
...直到我创建一个单元测试,指定 MyString 属性的长度必须为 2-20 个字符不 包括空格。
所以myObject.myString = "A" + new String(' ', 10); 应该验证失败。
我可以使用.Must(IsValidString) 完成所有这些工作,并自己将所有逻辑写在...
private bool IsValidString(string myString)
{
if(String.IsNullOrEmpty(myString))
return false;
// Then work on myString.Trim()'ed value.
}
...但是我失去了所有可爱的流利验证!
显然我可以使用这种方法使我的单元测试通过,并且在我的小世界中所有人都会很高兴,但是我错过了一个技巧吗?
非常感谢。
【问题讨论】:
标签: fluentvalidation