2013-06-28 36 views
0

我檢查了三個字符C# - 與OR條件

Assert.AreEqual(myString.Substring(3,3), "DEF", "Failed as DEF was not observed"); 

的事情串斷言是這裏可以DEFRES,現在來處理這是我能想到的是以下

bool check = false; 
if(myString.Substring(3,3) == "DEF" || myString.Substring(3,3) == "RED") 
check = true; 

Assert.IsTrue(check,"Failed"); 
Console.WriteLine(""Passed); 

有沒有辦法,我可以斷言中使用一些或事物

附言:我以創作G股的測試&是的,我會用三元運算符代替....

+1

你不能只把你當檢查斷言裏面.. – Sayse

回答

2
Assert.IsTrue((myString.Substring(3,3) == "DEF" || myString.Substring(3,3) == "RED")?true:false,"Failed"); 
+4

無需這裏的條件運算符:'Assert.IsTrue(myString.Substring(3,3)==「DEF」|| myString.Substring(3,3)==「RED」,「Failed」);' –

+0

感謝您指向它如果有人不知道它,我就把它作爲參考 – Cris

1

根據單元測試框架使用的是你可以做這樣的事情:

Assert.Contains(myString.Substring(3, 3), new [] { "DEF", "RED" }); 

但要注意,這是濫用系統一點,因爲它切換預計實際

另一種方法,應與任何框架的工作,不濫用系統應該是這樣的:?

Assert.True(new [] { "DEF", "RED" }.Contains(myString.Substring(3, 3)));