c#-自动修复,从预定义列表中随机选择
作者:互联网
我想知道在AutoFixure中,是否可以从预定义列表中随机选择?例如,当我使用Fixture.Create或Fixture.CreateMany时,它将从预定义列表中随机选择一个对象.我从documentation到搜索堆栈溢出都没有找到类似的东西,所以我不确定它是否有可能.
解决方法:
您可以使用ElementsBuilder< T> ;:
[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