C# Fluent验证单元测试
以下是我尝试测试的规则:C# Fluent验证单元测试,c#,unit-testing,fluentvalidation,C#,Unit Testing,Fluentvalidation,以下是我尝试测试的规则: RuleFor(m => m.Groups) .SetValidator(new MustContainAtLeastOne<AuthGroup>()) .OverridePropertyName("Roles"); RuleFor(m=>m.Groups) .SetValidator(新的mustContaineAtleastone()) .OverridePropertyName(“角色”); 测试: validato
RuleFor(m => m.Groups)
.SetValidator(new MustContainAtLeastOne<AuthGroup>())
.OverridePropertyName("Roles");
RuleFor(m=>m.Groups)
.SetValidator(新的mustContaineAtleastone())
.OverridePropertyName(“角色”);
测试:
validator.ShouldHaveValidationErrorFor(m => m.Groups,new List<AuthGroup>());
validator.shouldSaveValidationErrorfor(m=>m.Groups,new List());
问题:
当我有.OverridePropertyName(“角色”)
时,它失败,但当我删除它时,测试通过
这是Fluent Validation Validator类的问题吗?在项目网站上发布问题: 我相信TestHelper会将lambda表达式中指定的属性名称与生成的错误消息中的属性名称进行比较。在这种情况下,因为您已经覆盖了它们不匹配的属性名,所以断言失败。在这种情况下,您需要手动执行断言,而不是使用TestHelper
在项目现场发布问题: 我相信TestHelper会将lambda表达式中指定的属性名称与生成的错误消息中的属性名称进行比较。在这种情况下,因为您已经覆盖了它们不匹配的属性名,所以断言失败。在这种情况下,您需要手动执行断言,而不是使用TestHelper