【发布时间】:2014-02-13 13:14:33
【问题描述】:
我有以下课程
public class PasswordValidator : AbstractValidator<PasswordContainer>
{
public PasswordValidator()
{
SimpleValidations();
}
private void SimpleValidations()
{
RuleFor(x => x.Password.Length).GreaterThanOrEqualTo(8).WithMessage("Password too short.");
RuleFor(x => x.Password.Length).LessThanOrEqualTo(255).WithMessage("Password too long.");
}
}
PasswordContainer 看起来像这样
public class PasswordContainer
{
public PasswordContainer()
{
}
public string Password { get; set; }
}
现在,当我运行它并使用它来验证输入的密码时,它一切都按预期工作。但是,当我创建一个单元测试时它失败了
[Test]
public void Validate_WhenPasswordTooShort_ShouldReturnError()
{
var subject = fixture.Create<PasswordValidator>();
subject.ShouldHaveValidationErrorFor(b => b.Password, new PasswordContainer() { Password = "pass" });
}
此测试不起作用。我收到一个错误提示
“预计属性密码的验证错误”
为什么这不起作用?
【问题讨论】:
标签: c# asp.net-mvc-5 fluentvalidation