我正在尝试使用AutoFixture创建一个测试数据对象,其中一个属性与另一个属性相关联,并且其中一个属性是作为夹具的一部分创建的。
到目前为止,我的代码如下:
fixture = new Fixture().Customize(new MultipleCustomization());
Object object;
double constant;
object = fixture.Build<Object>()
.With(o => o.PropertyOne, fixture.Create<double>)
.With(o => o.PropertyTwo, constant * o.PropertyOne)
.Create());
这个方法行不通,因为"The name 'o' does not exist in the current context",这是有道理的。
有没有办法在创建fixture的过程中解决这个问题?
我的情况有点复杂,因为我实际上正在生成一个列表,所以代码看起来像:
fixture = new Fixture().Customize(new MultipleCustomization());
List<Object> objectListFixture;
double constant;
objectListFixture.AddRange(
fixture.Build<Object>()
.With(o => o.PropertyOne, fixture.Create<double>)
.With(o => o.PropertyTwo, constant * o.PropertyOne)
.CreateMany());
如果可能的话,我希望能避免使用for循环。
double
is created for each member of the list” 是什么意思? - Mark SeemannPropertyOne
的部分),现在它对我来说已经可以工作了。 - yinnonsandersSelect
。谢谢! - yinnonsanders