使用AutoFixture C#创建具有特定值的列表 [英] Create a list with specific values with Autofixture C#

查看:0
本文介绍了使用AutoFixture C#创建具有特定值的列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

模型具有IdCode等属性。

我要创建4个具有特定不同代码的数据。

 var data = _fixture.Build<MyModel>()
                .With(f => f.Code, "A")
                .CreateMany(4);

这将导致所有4个数据的代码为A&Quot;。我希望这4个数据具有代码A&q;、B&q;、C&q;、D&q;

提前谢谢

推荐答案

假设您只需要4个项目,您可以定义代码集合,并使用它通过LINQ生成4个模型。

public static object[][] Codes =
{
    new object[] { new[] { "A", "B", "C", "D" } }
};

[Theory]
[MemberAutoData(nameof(Codes))]
public void Foo(string[] codes, Fixture fixture)
{
    var builder = fixture.Build<MyModel>(); // Do any other customizations here
    var models = codes.Select(x => builder.With(x => x.Code, x).Create());

    var acutal = models.Select(x => x.Code).ToArray();

    Assert.Equal(codes, acutal);
}

public class MyModel
{
    public int Id { get; set; }
    public string Code { get; set; }
}

这篇关于使用AutoFixture C#创建具有特定值的列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆