我正在努力使我的Fluent验证规则集工作,目前它没有,我不知道为什么会发生这种情况,一切似乎都没问题。我想以某种方式进入执行验证的代码,但RuleSet lambdas是ExpressionTrees,它甚至不能提供糟糕的调试体验。
有没有办法调试RuleSet逻辑以查看RuleSets中发生了什么?
答案 0 :(得分:2)
FluentValidation是开源的,所以理论上你可以从http://fluentvalidation.codeplex.com/SourceControl/的repo下载代码,然后加载解决方案,直接引用它,然后逐步完成。
希望这会让你到达你需要的地方,但我相信如果你提供了规则,可能会有人在这里提供帮助,也许会有一些单位测试显示失败。
答案 1 :(得分:0)
无法使用Visual Studio工具调试Fluent Validator代码。 您需要注释要测试的代码的特定部分(RuleFor)。继续这样做,直到测试完所有规则。
答案 2 :(得分:0)
当前版本的FluentValidation允许您使用TestValidate
扩展方法对验证器进行单元测试。还有一个异步版本。
调用此方法并传递一个对象进行验证,将返回一个TestValidationResult<>
对象,该对象具有2个有用的方法ShouldHaveValidationErrorFor
和
ShouldNotHaveValidationErrorFor
可用于检查测试是否通过。
可以在此处找到文档https://docs.fluentvalidation.net/en/latest/testing.html