13

文字列の 3 文字をチェックしています

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私は単体テストを書いています&はい、代わりに三項演算子を使用します....

4

3 に答える 3

9
Assert.IsTrue((myString.Substring(3,3) == "DEF" || myString.Substring(3,3) == "RED")?true:false,"Failed");
于 2013-06-28T07:19:14.760 に答える
3

使用している単体テスト フレームワークによっては、次のようなことができます。

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

ただし、これはシステムを少し悪用していることに注意ください

どのフレームワークでも機能し、システムを悪用しない代替アプローチは次のようになります。

Assert.True(new [] { "DEF", "RED" }.Contains(myString.Substring(3, 3)));
于 2013-06-28T07:23:46.570 に答える