我想创建一个自定义来限制enum
AutoFixture 提供的值。到目前为止,我能找到的唯一示例使用命令式样式(例如this)。
给定以下enum
定义:
public enum AnEnum
{
A,
B,
C
}
我想将值限制为AnEnum.B
and AnEnum.C
。我尝试了以下代码的一些变体。
public class EnumCustomization : ICustomization
{
public virtual void Customize(IFixture fixture)
{
fixture.Customize<AnEnum>(
c => c.FromFactory(() => new Generator<AnEnum>(fixture).First(e => e != AnEnum.A)));
}
}
但是,它们都不可避免地导致AutoFixture.ObjectCreationExceptionWithPath
异常。如果没有自定义 AutoFixture 将创建一个AnEnum
正常的值。因此,我认为问题在于我的定制尝试,而不是其他地方的任何循环引用。