【问题标题】:Fluent Validation Unit TestingFluent 验证单元测试
【发布时间】:2016-11-18 15:39:22
【问题描述】:

这是我要测试的规则:

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

测试:

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

问题:

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

这是 Fluent Validation Validator 类的问题吗?

【问题讨论】:

    标签: c# unit-testing fluentvalidation


    【解决方案1】:

    在项目网站上发布问题:

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

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

    【讨论】:

      猜你喜欢
      • 2015-10-01
      • 2017-05-23
      • 1970-01-01
      • 2019-12-18
      • 2011-01-11
      • 2010-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多