вы можете издеваться над Validate.ValidateAsync.
Причина, по которой я получил ошибку, заключается в том, что я пытался смоделировать метод расширения.Чья сигнатура метода
public static Task<ValidationResult> ValidateAsync<T>(this IValidator<T> validator, T instance, CancellationToken cancellationToken = default (CancellationToken), IValidatorSelector selector = null, string ruleSet = null)
Но если вы видите его реализацию, она вызывает
validator.ValidateAsync((ValidationContext) validationContext, cancellationToken);
Так что создание Mock на основе вышеуказанной сигнатуры решает проблему.
mockValidator.Setup(x => x.ValidateAsync(It.IsAny<ValidationContext>(), It.IsAny<CancellationToken>()))
.ReturnsAsync(new ValidationResult());
Если вы хотите передать ошибки проверки
mockValidator.Setup(x => x.ValidateAsync(It.IsAny<ValidationContext>(), It.IsAny<CancellationToken>()))
.ReturnsAsync(new ValidationResult(new List<ValidationFailure>()
{
new ValidationFailure("TestField","Test Message"){ErrorCode = "1001"}
}));