1

我有一个使用 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);

但是,这无法测试自定义规则..知道如何测试自定义规则吗?

谢谢

4

1 回答 1

2

您可以使用 Custom(x => x.) 进行自定义验证,无需其他方法

于 2011-07-11T13:45:52.207 回答