У меня есть такой валидатор:
RuleFor(a => a.Id)
.IsRequired()
.MustBeValidId()
.MustExistInDatabase<Command, ChangeRequest>(context)
.DependentRules(() =>
{
RuleFor(a => a.Description)
.IsRequired()
...
});
Я хочу протестировать свойство Description
, которое оценивается только в том случае, если свойство Id
действительно.
Но дляв целях тестирования это не было бы необходимо.
Этот тест должен пройти:
GetValidator().ShouldNotHaveValidationErrorFor(command => command.Description, "my description");
Но он не проходит, потому что свойство Id не может быть проверено.
Чтобы проверить его, мне нужно создать провайдера InMemory EFCoreсоздайте сущность, чтобы проверить, существует ли она в базе данных, и тогда валидатор Description
не потерпит неудачу.
Есть ли способ издеваться над валидатором Id, чтобы я мог легко протестировать зависимые правила?