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。

相关内容

热门资讯

透视脚本"hhpok... 透视脚本"hhpoker可以控制牌吗"详细辅助必胜教程(俱乐部辅助教程);支持多人共享记分板与复盘,...
透视app!智星菠萝可以辅助吗... 透视app!智星菠萝可以辅助吗,aapoker发牌逻辑,必赢教程(有挂工具);智星菠萝可以辅助吗辅助...
透视辅助"wepok... 这是一款非常优秀的wepoker怎么破解游戏 ia辅助检测软件,能够让你了解到wepoker怎么破解...
透视线上!wpk透视脚本,红龙... 透视线上!wpk透视脚本,红龙poker有辅助吗,专业教程(有挂攻略)1、该软件可以轻松地帮助玩家将...
透视计算"wepok... 透视计算"wepoker怎么看牌型"详细辅助分享教程(透视辅助下载技巧);科技安装教程;136704...
透视挂!红龙poker透视工具... 透视挂!红龙poker透视工具,约局吧德州可以透视吗,规律教程(有挂详情)1、游戏颠覆性的策略玩法,...
透视中牌率!智星菠萝可以辅助吗... 透视中牌率!智星菠萝可以辅助吗,pokermaster脚本,必赢方法(有挂解密)1、智星菠萝可以辅助...
透视总结"德普之星透... 1、透视总结"德普之星透视辅助软件激活码"详细辅助揭秘教程(养号规律方法);详细教程。2、德普之星透...
透视免费!hhpoker透视脚... 透视免费!hhpoker透视脚本视频,We poker辅助器下载,2025新版教程(有挂辅助);进入...
透视脚本"hhpok... 1、透视脚本"hhpoker是真的还是假的"详细辅助安装教程(数据分析教程)。2、hhpoker是真...