编程语言
首页 > 编程语言> > c#-自动修复,从预定义列表中随机选择

c#-自动修复,从预定义列表中随机选择

作者:互联网

我想知道在AutoFixure中,是否可以从预定义列表中随机选择?例如,当我使用Fixture.Create或Fixture.CreateMany时,它将从预定义列表中随机选择一个对象.我从documentation到搜索堆栈溢出都没有找到类似的东西,所以我不确定它是否有可能.

解决方法:

您可以使用ElementsBuilder< T&gt ;:

[Fact]
public void Example()
{
    var fixture = new Fixture();
    fixture.Customizations.Add(
        new ElementsBuilder<MyObject>(
            new MyObject("foo"),
            new MyObject("bar"),
            new MyObject("baz")));

    var actual = fixture.Create<MyObject>();

    Assert.Contains(actual.Name, new[] { "foo", "bar", "baz" });
}

该测试通过.

在您的实际代码库中,您应该将该修改打包到ICustomization中.

标签:autofixture,c
来源: https://codeday.me/bug/20191025/1929100.html