这似乎是我阅读的每篇博文中缺少的内容。
我怎样才能CreateMany<T>
集合中只有一个元素包含我指定的Id
个?
我想将其重新定制为自定义。
我尝试了很多这样的变体:
public class OrdersCustomizations : ICustomization
{
public void Customize(IFixture fixture)
{
var single = fixture.Build<Order>().With(x => x.Id, 10).Create();
var many = fixture.Build<Order>().CreateMany().ToList();
many.Add(single);
fixture.RepeatCount = 5;
fixture.AddManyTo<Order>(many);
}
}
但我无法弄清楚这一点。
答案 0 :(得分:1)
你为什么不这样做?
var many = fixture.Create<List<Order>>();
many[0].Id = 10;
// Rest of test goes here...
或者,如果您使用AutoFixture.Xunit的声明性方法,则可以执行此操作:
public void MyTest(List<Order> orders)
{
orders[0].Id = 10;
// Rest of test goes here...
}
答案 1 :(得分:0)
// Configure fixture
var expectedResult = _fixture.Create<List<Order>>();
expectedResult[0].Id = "159";
_fixture.Inject(expectedResult);
// Usage
var actualResult = _fixture.Create<List<Order>>();
Assert.True(actualResult[0].Id == expectedResult[0].Id);
这就是你要搜索的内容!