如何在单元测试中设置InlineAutoData标签中的bool数组?

问题描述 投票:0回答:2

我想测试一个方法。我想测试一个方法,需要一个布尔数组来测试这个方法,请问如何在InlineAutoData标签中设置这个数组?我如何在InlineAutoData标签中设置这个数组?我的代码示例如下

    [Theory]
    [InlineAutoData([true,false,false])]
    public void ToEntityTest(bool[] groups, HeadModel model)
    {
        model.Groups = new HeadGroupsModel()
        {
            Groups = groups
        };
        var headModel = model.ToEntity().ToModel().ToEntity();
        headModel.Should().BeEquivalentTo(model.ToEntity());
    }

不起作用.组是自动创建的,不是我设置的.谢谢大家的关注和支持。

c# unit-testing autofixture
2个回答
0
投票

使用params参数

[Theory]
[InlineData(true,false,false)]
public void ToEntityTest(params bool[] groups)
{
    var model = new HeadModel
    {
        Groups = new HeadGroupsModel { Groups = groups }
    }

    var headModel = model.ToEntity().ToModel().ToEntity();
    headModel.Should().BeEquivalentTo(model.ToEntity());
}

0
投票

你需要创建一个合适的阵列。

[Theory]
[InlineAutoData(new bool[true,false,true])]
public void ToEntityTest(bool[] groups, HeadModel model)
{
    model.Groups = new HeadGroupsModel()
    {
        Groups = groups
    };
    var headModel = model.ToEntity().ToModel().ToEntity();
    headModel.Should().BeEquivalentTo(model.ToEntity());
}`
© www.soinside.com 2019 - 2024. All rights reserved.