Я боролся с этой проблемой, которая, как я первоначально думал, могла быть связана с полиморфизмом / наследованием, влияющим на мою проверку, но я сузил его до этого ...
Вот структура класса ..
public class Employee {
[ObjectValidator(Ruleset = "A")]
public EmployeeName Name { get; set; }
public Employee()
{
Name = new EmployeeName();
}
}
public class EmployeeName
{
[StringLengthValidator(1,20,Ruleset = "A")]
public string First { get; set; }
public string Last { get; set; }
public EmployeeName()
{
First = string.Empty;
Last = string.Empty;
}
}
Тест:
[TestFixture]
public class ObjectValidationWithRulesets
{
[Test]
public void wont_validate_with_a_ruleset()
{
var person = new Employee()
{
Name = new EmployeeName()
{
First = string.Empty,
Last = string.Empty
}
};
var ruleSetValidator =
ValidationFactory.CreateValidator<Employee>("A");
var validationResults = ruleSetValidator.Validate(person);
Assert.That(!validationResults.IsValid,
"Validation with rulsets failed");
}
}
Этот тест проходит, если я удаляю удалить набор правил. Но как только набор правил будет применен, я не смогу правильно проверить объект.
Кто-нибудь может пролить свет на это?
Приветствия