プロが教える店舗&オフィスのセキュリティ対策術

C#単体テストで、UnitTestの使い方に関する質問になります。
voidの関数で、正常終了or例外発生を判別したいのですが、できるのでしょうか?
以下の例のような場合に、例外なく終わって欲しいものは例外がなければ成功。例外が出るはずで例外がでて終われば成功。という結果になるAssertがあればと思っております。
ご教授のほど、お願い致します。

例)
public class main{
public void a(int a){
try{
switch(a){
case 1:
break;
default:
break;
}
}
catch(Exception){
}
}
}

[TestMethod()]
public void aTest1(){
int data = 1;
var acount = new main();
acount.a(data);
}
[TestMethod()]
public void aTest2(){
int data = 2;
var acount = new main();
acount.a(data);
}

質問者からの補足コメント

  • すみません。例に誤りがありました。
    defaultでthrow new Exception()の処理を行います。

      補足日時:2018/09/12 11:41

A 回答 (2件)

ExpectedException attributeを使って、try-catchはテストコードで。


tryが素直にreturnしたらAssert.Fail…って感じでしょうか。
    • good
    • 0

MSTESTだよね?



ExpectedException属性使うとか
catch出来なかったらAssert.Fail(・・・

するとか・・・
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!