我正在使用的域模型有很多循环引用。事实上,可以从图中的任何点到达大多数对象。许多这些循环引用也在集合中。所以 aBooking
将有一个集合,Students
其中有一个集合,Courses
其中有一个集合,Bookings
依此类推。这不是真正的模型,只是一个例子。这个问题是由大约三十个不同类别的组合引起的。
为了使用这个模型,我像这样配置和使用 AutoFixture
var fixture = new Fixture().Customize(new MultipleCustomization());
fixture.Behaviors.Remove(new ThrowingRecursionBehavior());
fixture.Behaviors.Add(new OmitOnRecursionBehavior());
var booking = fixture.CreateAnonymous<Booking>();
这会导致 AutoFixture 运行大约 20 分钟,直到它最终以 OutOfMemoryException 失败。
这个模型是否要求 AutoFixture 创建一个永远不会结束的无限图?如果是这样,有什么方法可以配置它来限制图形的深度?