【发布时间】:2012-11-10 00:08:40
【问题描述】:
所以我有一些这样的代码:
enum Decision
{
DecisionA,
DecisionB,
...
}
public void DoStuff(Decision d)
{
switch(d)
{
case Decision.DecisionA:
....
...
}
}
基本上DoStuff,无论做出什么决定,都会做同样的事情,但该决定用于使其所做的事情更优化(更快或其他)。
现在,我想为 DoStuff 实施单元测试。通过使用new Decision[]{DecisionA, DecisionB, ...}; 之类的数组来测试所有决策是否正常工作是相当容易的。但是,如果我添加一个决策,则必须返回并手动将其添加到单元测试中。
是否可以只访问enum 指定的所有可能选项?例如,这样的事情:
foreach(var d in Decision.Options)
{
//d will be DecisionA, and then DecisionB, etc etc
}
【问题讨论】:
标签: c# .net unit-testing enums