两个Assert.AreEqual()比较,取决于输入值

时间:2015-06-08 15:14:14

标签: c# unit-testing

我想检查我创建的枚举和文件中的输入值之间的相等性。它应该是3个值中的一个,在一种情况下,这些值中的2个本质上意味着相同的东西。

enum myEnum { ver1, ver2, ver3};  

代码有点简化,但含义相同。我想测试以下内容:

Assert.AreEqual(ver1, x) || Assert.AreEqual(ver2, x); //Clearly doesn't work, but this is what I'd like to accomplish
Assert.AreEqual(ver3, x);  

要明确的是,这些值在这一项测试的范围内仅表示相同的含义,它们在其他地方的含义略有不同,因此ver1 != ver2

1 个答案:

答案 0 :(得分:1)

对此的简单解决方案是不使用Assert进行检查,但是对于失败。

if (x != ver1 && x != ver2) {
    Assert.Fail("x not equal to ver1 or ver2")
}