这是我的课:
public MyClass {
public int Id { get; private set; }
public SetAssignableId (int id) {
this.Id = id;
}
}
我想让 AutoFixture 通过 SetAssignableId 或私有设置器设置 Id。
这是我的课:
public MyClass {
public int Id { get; private set; }
public SetAssignableId (int id) {
this.Id = id;
}
}
我想让 AutoFixture 通过 SetAssignableId 或私有设置器设置 Id。
目前无法使用 AutoFixture 调用私有设置器。尽管它在内部使用反射,但在设计上它尊重类型的公共 API。
问题委员会上有一个未完成的请求,以使其更加可定制 - 如果您仔细阅读工作项,您会看到有一个请求启用填充受保护的设置器。
但是,根据给出的示例,当然可以调用 SetAssignableId 方法。像这样的自定义应该可以解决问题:
fixture.Customize<MyClass>(c =>
c.Do(mc =>
mc.SetAssignableId(fixture.CreateAnonymous<int>())));