假设我们有一个枚举类型定义为:
enum Statuses
{
Completed,
Pending,
NotStarted,
Started
}
我想让 Autofixture 为我创造一个值(value),而不是例如。待定。
所以(假设循环生成)我想获得:
已完成,未开始,已开始,已完成,未开始,...
最佳答案
最简单的方法是使用 AutoFixture 的 Generator<T>
:
var statuses = fixture
.Create<Generator<Statuses>>()
.Where(s => Statuses.Pending != s)
.Take(10);
如果您只需要一个值,但想确定它不是 Statuses.Pending
,你可以这样做:
var status = fixture
.Create<Generator<Statuses>>()
.Where(s => Statuses.Pending != s)
.First();
还有其他方法,但这对于临时查询来说是最简单的。
关于c# - 从所有值的子集中创建匿名枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20957010/