【发布时间】:2014-09-12 01:41:07
【问题描述】:
我正在开发一个业务类,它可以根据对象的属性过滤对象。过滤规则有很多,每一个通常都会考虑多个属性。
我开始检查每条规则,提供了它们被过滤的所有对象属性的枚举,但这很快就变得无趣了,我想在“复制粘贴退化”吞噬我的大脑之前解决这个痛苦。
AutoFixture 应该在这种情况下非常有用,但我在 FAQ 或 CheatSheet 中都找不到信息。 Ploeh 的博客 populated lists 看起来很有希望,但对我来说还不够深入。
所以,给定以下类
public class Possibility
{
public int? aValue {get;set;}
public int? anotherValue {get;set;}
}
我能否获得Possibility 的列表,其中每个类都包含一个可能的预定义值aValue 和anotherValue 的枚举?例如,给定值 [null, 10, 20] 对应 aValue 和 [null, 42] 对应 anotherValue,我将返回 6 个 Possibility 实例。
如果不是,我怎么能在为每个对象类型自己编码之外获得这种行为?
【问题讨论】:
-
会有 3 个
Possibility实例。 -
我想更多的是像夫妻一样的枚举-> null,null |空,42 | 10,空 | 10,42 | ...但我想我知道如何修改您建议的
Generator来做到这一点 -
您也可以这样做 - 您必须修改
PossibilityCustomization的内部队列,然后在 Generator 实例中将Take(3)替换为Take(6)。
标签: c# tdd autofixture