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によって生成されたルールのカスタムセットを持っています。これは生成されたルールの部分的なクラスであり、データベースに基づいて(つまりnullではない)いくつかのカスタムルールを書くことができます。

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 に答える