流畅的验证单元测试

时间:2016-11-18 15:39:22

标签: c# unit-testing fluentvalidation

以下是我要测试的规则:

 RuleFor(m => m.Groups)
      .SetValidator(new MustContainAtLeastOne<AuthGroup>())
      .OverridePropertyName("Roles");

测试:

validator.ShouldHaveValidationErrorFor(m => m.Groups,new List<AuthGroup>());

问题:

当我有.OverridePropertyName("Roles")时失败但是当我删除它时,测试通过。

这是Fluent Validation Validator类的问题吗?

1 个答案:

答案 0 :(得分:2)

在项目网站上发布问题:

https://github.com/JeremySkinner/FluentValidation/issues/359

  

我相信TestHelper会将lambda表达式中指定的属性名称与生成的错误消息中的属性名称进行比较。在这种情况下,因为您重写了属性名称,所以它们将不匹配,因此断言失败。您需要手动执行断言,而不是在这种情况下使用TestHelper。

相关问题