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。

相关内容

热门资讯

外挂妙计!德普之星透视免费,大... 外挂妙计!德普之星透视免费,大菠萝免费辅助器-一直是有辅助app(哔哩哔哩)1、许多玩家不知道大菠萝...
外挂绝活!福建大菠萝万能辅助器... 外挂绝活!福建大菠萝万能辅助器,pokemomo辅助工具-一直是真的有辅助神器(哔哩哔哩)在进入福建...
外挂操作!德普之星透视,智星德... 外挂操作!德普之星透视,智星德州插件怎么下载-一贯是有辅助插件(哔哩哔哩)暗藏猫腻,小编详细说明智星...
外挂积累!来玩app 德州 辅... 外挂积累!来玩app 德州 辅助,德普之星的辅助工具介绍-其实是有辅助技巧(哔哩哔哩)1、这是跨平台...
外挂教材!pokermaste... 外挂教材!pokermaster修改器,菠萝辅助器免费版的特点-竟然一直总是有辅助插件(哔哩哔哩)1...
外挂练习!佛手在线是不是有挂,... 外挂练习!佛手在线是不是有挂,约局吧德州可以透视吗-总是一直总是有辅助app(哔哩哔哩)1、完成约局...
外挂教程书!xpoker辅助神... 外挂教程书!xpoker辅助神器,werplan怎么透视-果然一直都是有辅助方法(哔哩哔哩)小薇(辅...
外挂学习!智星菠萝透视,德州私... 外挂学习!智星菠萝透视,德州私人局脚本-原来存在有辅助攻略(哔哩哔哩)1、进入游戏-大厅左侧-新手福...
外挂课程!哈糖大菠萝可以开挂吗... 外挂课程!哈糖大菠萝可以开挂吗,大菠萝免费辅助-好像真的是有辅助app(哔哩哔哩)1、在哈糖大菠萝可...
外挂法子!werplan透视挂... 外挂法子!werplan透视挂,红龙poker辅助器免费观看-总是有辅助插件(哔哩哔哩)1、金币登录...