2011-06-10 3 views
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에 의해 ​​생성이 arent 규칙의 사용자 지정 설정을 데이터베이스에 기반하지 않는 사용자 정의 규칙을 작성할 수 있습니다 (즉, 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); 

를,이 사용자 정의 규칙을 테스트하는 데 실패 .. 어떤 생각 내가 어떻게 사용자 정의 규칙을 테스트 할 수있는 방법?

감사

답변

2

당신은 사용자 정의 유효성 검사를 위해 또 다른 방법

에 대한 필요성을 사용자 정의를 (X => X.) 사용할 수 없습니다