MSユニットテストの例外?
-
28-10-2019 - |
質問
プロジェクトのメソッドの単体テストを作成しました。このメソッドは、ファイルが見つからない場合に例外を発生させます。そのための単体テストを作成しましたが、例外が発生してもテストに合格できません。
方法は ジェネラコディセタグプレ
ユニットテスト ジェネラコディセタグプレ
メソッドで例外を処理する必要がありますか、それとも何か他のものが不足していますか??
編集:
私が渡したパスはファイルを見つけるパスではないので、このテストは合格するはずです...つまり、ファイルがそのパスに存在しない場合はどうなりますか。
解決
ユニットテストでは、xmlファイルをデプロイしているようです:TestData\BuildMachineNoNames.xml
に渡すGetBuildMachineNames
。したがって、ファイルは存在し、FileNotFoundException
がスローされることは期待できません。だから多分このように:
ジェネラコディセタグプレ
他のヒント
[ExpectedException(typeof(FileNotFoundException)、 "ファイルが見つからない場合に例外を発生させる")]属性を設定すると、FileNotFoundExceptionがスローされない場合、メソッドがFileNotFoundExceptionをスローすることが期待されます。テストは失敗します。それ以外の場合、テストは成功します。
ExpectedException
のポイントを本当に理解したことはありません。属性ではなくコードで例外をキャッチできるはずです。これはより良い方法であり、発生後に何かを行うこともできます(たとえば、より多くの検証)...また、フォーラムで質問する必要はなく、デバッガーでコードを停止してチェックアウトすることができます。:)
Assert.Throws(TestDelegate code);。
を使用します