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。

相关内容

热门资讯

近年来!手机字牌辅助脚本工具,... 近年来!手机字牌辅助脚本工具,苹果手机微信小程序游戏破解器,机巧教程(有挂透明挂)-哔哩哔哩苹果手机...
透视了解!德普之星私人局辅助免... 透视了解!德普之星私人局辅助免费,德普之星透视辅助软件下载(透视)真是真的是有挂(有挂讲解)-哔哩哔...
今日!518互游辅助,wepo... 今日!518互游辅助,wepoker透视功能下载,讲义教程(发现有挂)-哔哩哔哩1、wepoker透...
透视ai!德扑圈透视挂,德普之... 透视ai!德扑圈透视挂,德普之星辅助软件(透视)好像真的是有挂(有挂方针)-哔哩哔哩1、操作简单,无...
透视插件!德普之星透视辅助软件... 透视插件!德普之星透视辅助软件下载,德普之星辅助器(透视)竟然有挂(有挂实锤)-哔哩哔哩该软件可以轻...
随着!大菠萝789辅助,h5大... 随着!大菠萝789辅助,h5大厅反杀教程,模板教程(有挂解惑)-哔哩哔哩1、全新机制【h5大厅反杀教...
透视肯定!德普之星怎么开辅助,... 透视肯定!德普之星怎么开辅助,德扑圈透视(透视)本来真的是有挂(发现有挂)-哔哩哔哩1、德普之星怎么...
经调查!开心游戏辅助器,wep... 经调查!开心游戏辅助器,wepoker辅助器免费,项目教程(有挂功能)-哔哩哔哩wepoker辅助器...
透视数据!德普之星有辅助软件吗... 透视数据!德普之星有辅助软件吗,德普之星透视辅助软件(透视)一贯真的有挂(有挂秘籍)-哔哩哔哩1、德...
现就发布提示!边锋斗地主辅助微... 现就发布提示!边锋斗地主辅助微信,wpk透视辅助,诀窍教程(揭秘有挂)-哔哩哔哩运边锋斗地主辅助微信...