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);
ただし、これはカスタムルールのテストに失敗します。カスタムルールをテストする方法はありますか?
ありがとう