AutoFixture依从于FluentValidation
创始人
2024-11-12 14:00:18
0次

在使用AutoFixture生成测试数据时,可以结合FluentValidation对数据进行校验,确保生成的数据符合指定的规则。

示例代码如下:

使用FluentValidation定义数据模型的规则:

public class Order
{
    public int Id { get; set; }
    public string CustomerName { get; set; }
    public DateTime OrderDate { get; set; }
    public decimal TotalAmount { get; set; }
}

public class OrderValidator : AbstractValidator
{
    public OrderValidator()
    {
        RuleFor(order => order.Id).GreaterThan(0);
        RuleFor(order => order.CustomerName).NotEmpty();
        RuleFor(order => order.OrderDate).Must(BeAValidDate);
        RuleFor(order => order.TotalAmount).GreaterThan(0);
    }

    private bool BeAValidDate(DateTime date)
    {
        return date != default(DateTime);
    }
}

利用AutoFixture生成符合规则的测试数据:

var fixture = new Fixture().Customize(new AutoMoqCustomization());

var order = fixture.Build()
                    .With(o => o.TotalAmount, 100m)
                    .Create();
                    
var validator = new OrderValidator();
var result = validator.Validate(order);
Assert.True(result.IsValid);

以上代码保证了在生成Order实例时,符合OrderValidator的规则。如果不符合,Validator.Validate()方法会返回Invalid的ValidationResult。

相关内容

热门资讯

专业讨论!透视挂!wepoke... 专业讨论!透视挂!wepoker免费透视脚本,德扑之星有挂么辅助助手(一贯真的有透视挂)AI 是一款...
分享给玩家开挂!德普之星怎么作... 分享给玩家开挂!德普之星怎么作弊,wepoker有挂吗下载(竟然是真的有开挂)AI 是一款可以让一直...
今日焦点辅助!wpk辅助工具,... 今日焦点辅助!wpk辅助工具,WPK真的有透视吗助手(起初是真的有辅助)AI 是一款可以让一直输的玩...
实测交流开挂!微扑克数据分析,... 『标题:当前标题』主打赛后复盘的 AI 游戏攻略黑科技走红,对局总结能力开挂。上传对局回放或者战绩截...
一分钟了解开挂!wepoker... 一款 AI 游戏攻略黑科技工具上线,查攻略效率直接开挂。它整合版本更新、装备搭配、BOSS 打法、牌...
玩家必看分享透视挂!德普之星私... 德普之星私人局辅助器AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻略数据...
重大通报!辅助!wepoker... 您好,重大通报!辅助!wepoker有辅助吗,德普之星怎么开挂安装(确实有辅助)这款游戏可以开挂的,...
揭秘攻略辅助!WPK模拟器,德... 一款 AI 游戏攻略黑科技工具上线,查攻略效率直接开挂。它整合版本更新、装备搭配、BOSS 打法、牌...
推荐一款辅助器!wepoker... 您好,推荐一款辅助器!wepoker代打辅助,wepoker开挂脚本教程(一向有辅助器)这款游戏可以...
必看攻略!辅助!wepoker... 『标题:当前标题』主打赛后复盘的 AI 游戏攻略黑科技走红,对局总结能力开挂。上传对局回放或者战绩截...