我有一个使用LLBLGEN生成的域模型,我使用fluentvalidation.TestHelper功能验证在域层创建的验证规则。
我的验证示例如下:
public partial class MyClassValidator : AbstractValidator< MyClass >
{
public MyClassValidator()
{
RuleFor(x => x.MyObjMoneyValue)
.NotEmpty()
.WithName("MyObjMoneyValue")
.WithState(x => NewFluentCustomState(x));
CustomRules();
}
}
所以我有一套自定义的规则,这些规则不是由LLBLGEN生成的,它是生成规则的部分类,它允许我编写一些不基于数据库的自定义规则(即非空)。
public partial class MyClassValidator
{
private void CustomRules()
{
RuleFor(q => q.MyObjMoneyValue)
.GreaterThan(0)
.WithMessage("Value must be greater than 0")
.WithState(NewFluentCustomState);
我有一个测试这个案例的测试:
_validator.ShouldHaveValidationErrorFor(q => q.MyObjMoneyValue, 0);
但是,这无法测试自定义规则。 任何想法我如何测试自定义规则?
感谢
答案 0 :(得分:2)
您可以使用自定义(x =&gt; x。)进行自定义验证,而无需其他方法