AutoFixture – 如何调用方法,如何设置autoproperty的私有setter?
这是我的class级:
public MyClass { public int Id { get; private set; } public SetAssignableId (int id) { this.Id = id; } }
我想让AutoFixture通过SetAssignableId或私人设置器设置Id。
今天无法使用AutoFixture调用私有setter。 虽然它在内部使用reflection,但它在设计上尊重类型的公共API。
在问题板上有一个突出的要求 ,使其更加可定制 – 如果您仔细阅读工作项,您将看到有一个请求,以启用填充受保护的设置器。
但是,通过给出的示例,可以调用SetAssignableId方法。 像这样的定制应该可以解决这个问题:
fixture.Customize(c => c.Do(mc => mc.SetAssignableId(fixture.CreateAnonymous())));