Project Description

FluentValidation.Validators.UnitTestExtension

Linki

GitHub: https://github.com/MichalJankowskii/FluentValidation.Validators.UnitTestExtension

NuGet: https://www.nuget.org/packages/FluentValidation.Validators.UnitTestExtension

Opis

Biblioteka umożliwia uproszczenie i rozszerzenie możliwości testowania kodu wykorzystującego pakiet FluentValidation. Dzięki niej będziesz mógł się skupić na testowaniu kodu, który napisałeś, a nie funkcjonalności pakietu FluentValidation. Twoje testy będą działać szybciej, będą bardziej czytelne i co najważniejsze będą testować tylko Twój kod.

W przykładzie zostanie wykorzystana klasa walidująca osobę – PersonValidator:

public class PersonValidator : AbstractValidator<Person>
{
  public PersonValidator()
  {
    RuleFor(person => person.Name).NotNull();
  }
}

Test jednostkowy dla PersonValidator będzie wyglądał następująco:

public class PersonValidatorTests
{
  [Fact]
  public void When_PersonValidatorConstructing_Then_RulesAreConfiguredCorrectly()
  {
    var personValidator = new PersonValidator();
    personValidator.ShouldHaveRules(x => x.Name,
      BaseVerifiersSetComposer.Build()
        .AddPropertyValidatorVerifier<NotNullValidator>()
        .Create());
  }
}

Do najważniejszych zalet jej wykorzystania należą:

  • bardziej efektywne tworzenie testów jednostkowych,
  • testowanie tylko własnej implementacji,
  • umożliwienie sprawdzania kolejności wywołania walidatorów.