#.net #c#-4.0 #fluent #fluentvalidation #llblgen
#.net #c #-4.0 #свободно #fluentvalidation #llblgen
Вопрос:
у меня есть сгенерированная модель домена с использованием LLBLGEN, и я проверяю те правила проверки, которые созданы на уровне домена с использованием fluentvalidation.Возможности TestHelper.
пример моей проверки выглядит следующим образом:
public partial class MyClassValidator : AbstractValidator< MyClass >
{
public MyClassValidator()
{
RuleFor(x => x.MyObjMoneyValue)
.NotEmpty()
.WithName("MyObjMoneyValue")
.WithState(x => NewFluentCustomState(x));
CustomRules();
}
}
итак, у меня есть пользовательский набор правил, которые не генерируются LLBLGEN, который является частичным классом для сгенерированных правил, что позволяет мне писать некоторые пользовательские правила, которые не основаны на базе данных (т. Е. not 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);
Однако при этом не удается протестировать пользовательские правила..
есть идеи, как я могу протестировать пользовательские правила?
Спасибо
Ответ №1:
Вы можете использовать пользовательские (x => x.) для вашей пользовательской проверки нет необходимости в других методах