【发布时间】:2011-09-06 12:32:40
【问题描述】:
我正在使用 AutoFixture 为涉及父对象和复杂子对象的结构生成数据,如下所示:
public class Parent
{
public int Id { get; set; }
public string Name { get; set; }
public Child[] Children { get; set; }
}
public class Child
{
public string Name { get; set; }
public int ParentId { get; set; }
}
有没有办法自动将生成的Child 对象的属性ParentId 设置为分配给父对象的id?现在我的解决方案看起来像这样,不是很漂亮:
var parent = fixture.Build<Parent>().Without(p => p.Children).CreateAnonymous();
parent.Children = fixture.CreateMany<Child>(10).ToArray();
foreach (var i in parent.Children)
{
i.ParentId = parent.Id;
}
感觉好像有更好的方法可以做到这一点,但我错过了?我考虑创建一个自定义 ISpecimenBuilder,但也没有设法解决它。
【问题讨论】:
标签: c# autofixture