c# – 使用OR条件断言
我正在检查三个字符的字符串
Assert.AreEqual(myString.Substring(3,3), "DEF", "Failed as DEF was not observed");
事情在这里它可以是DEF
或RES
,现在处理这个我能想到的是以下
bool check = false; if( myString.Substring(3,3) == "DEF" || myString.Substring(3,3) == "RED" ) check = true; Assert.IsTrue(check,"Failed"); Console.WriteLine(""Passed);
有一种方法我可以在Assert中使用一些OR事物
ps我正在编写unit testing,是的,我将使用三元运算符代替….
Assert.IsTrue((myString.Substring(3,3) == "DEF" || myString.Substring(3,3) == "RED")?true:false,"Failed");
根据您使用的unit testing框架,您可以执行以下操作:
Assert.Contains(myString.Substring(3, 3), new [] { "DEF", "RED" });
但要注意,这有点滥用系统,因为它切换了预期和实际 。
应该与任何框架一起使用并且不滥用系统的替代方法如下所示:
Assert.True(new [] { "DEF", "RED" }.Contains(myString.Substring(3, 3)));