【发布时间】:2021-01-26 14:22:01
【问题描述】:
我有一个相当大的类,它使用实体框架和一些列表属性作为一对多关系。我使用 AutoFixture 来创建测试数据并摆脱循环引用,我设置了很多“无”。但是要一次又一次地复制相同的代码。我不知道如何自定义初始创建。它看起来像这样
作品:
var entity = fixture.Build<MyObject>()
.Without(c => c.Cars)
.Without(c => c.Boats)
.Without(c => c.Motorcycles)
.Without(c => c.Skateboards)
.Create();
我想在每次使用夹具创建 MyObject 时将这些设置为默认值(然后在某些情况下可以覆盖它们)
我尝试创建一个这样的类
public class Conventions: ICustomization
{
public void Customize(IFixture fixture)
{
fixture.Customize<MyObject>
(c => c
.Without(c => c.Cars)
.Without(c => c.Boats)
.Without(c => c.Motorcycles)
.Without(c => c.Skateboards)
);
然后使用它:
var fixture = new Fixture();
fixture.Customize(new Conventions());
var entity = fixture.Build<MyObjec>().Create();
但不,它在递归声明中失败
【问题讨论】:
标签: c# autofixture