0

나는 다음 ValidationAttribute (DataAnnotation의 MVC에서)FakeItEasy를 사용하여 ValidationContext를 가짜로 만드는 방법은 무엇입니까?

에서 파생 한 클래스가이 클래스의 재정의 방법이 있습니다

protected override ValidationResult IsValid(object value, ValidationContext validationContext) 
    { 
     if (value == null) 
      return ValidationResult.Success; 

     var tagWithoutClosingRegex = new Regex(@"<[^>]+>"); 

     var hasTags = tagWithoutClosingRegex.IsMatch(value.ToString()); 

     if (!hasTags) 
      return ValidationResult.Success; 

     return new ValidationResult(String.Format("{0} cannot contain html tags", validationContext.DisplayName)); 
    } 

나는이 방법에 대한 단위 테스트를 작성하고자합니다. 어떻게하면 FakeItEasy를 사용하여 ValidationContext를 위조 할 수 있습니까? 이 많은 감사

감사 일반적으로

답변

1

어떤 도움, 당신이 시도한 것들의 어떤 종류의 우리에게 이야기하는 것이 좋습니다, 그리고 무엇가 있거나 작동하지 않은 방법에 대해 설명합니다. 그러면 앞으로 더 나은 (더 빨리) 답변을 얻을 수 있습니다. 자세한 내용은 How to ask을 참조하십시오.

그러나 조금 도와 드릴 수 있습니다.

ValidationContext봉인이므로 가짜 일 수 없습니다. 위조 될 수있는 유형과없는 유형에 대한 자세한 내용은 What can be faked을 참조하십시오.

저는 ValidationContext에 익숙하지 않습니다. 당신이 가짜를 만들 필요가 없으며, 단지 하나만 만들어서 시험에 도움이 될 상태를 제공 할 수 있습니까?

+0

+1 주어진 예제에서 실제 가짜 ValidationContext 대신 강력한 가짜 ValidationContext를 사용할 이유가 없습니다. –