我有一个使用 LLBLGEN 生成的域模型,并且我使用 fluentvalidation.TestHelper 功能验证在域层创建的那些验证规则。
我的验证示例如下所示:
public partial class MyClassValidator : AbstractValidator< MyClass >
{
public MyClassValidator()
{
RuleFor(x => x.MyObjMoneyValue)
.NotEmpty()
.WithName("MyObjMoneyValue")
.WithState(x => NewFluentCustomState(x));
CustomRules();
}
}
所以我有一组自定义规则,它们不是由 LLBLGEN 生成的,它是生成规则的部分类,它允许我编写一些基于数据库的自定义规则(即不为空)。
public partial class MyClassValidator
{
private void CustomRules()
{
RuleFor(q => q.MyObjMoneyValue)
.GreaterThan(0)
.WithMessage("Value must be greater than 0")
.WithState(NewFluentCustomState);
我有一个测试来测试这个案例:
_validator.ShouldHaveValidationErrorFor(q => q.MyObjMoneyValue, 0);
但是,这无法测试自定义规则..知道如何测试自定义规则吗?
谢谢