質問

プロジェクトのメソッドの単体テストを作成しました。このメソッドは、ファイルが見つからない場合に例外を発生させます。そのための単体テストを作成しましたが、例外が発生してもテストに合格できません。

方法は ジェネラコディセタグプレ

ユニットテスト ジェネラコディセタグプレ

メソッドで例外を処理する必要がありますか、それとも何か他のものが不足していますか??

編集:

私が渡したパスはファイルを見つけるパスではないので、このテストは合格するはずです...つまり、ファイルがそのパスに存在しない場合はどうなりますか。

役に立ちましたか?

解決

ユニットテストでは、xmlファイルをデプロイしているようです:TestData\BuildMachineNoNames.xmlに渡すGetBuildMachineNames。したがって、ファイルは存在し、FileNotFoundExceptionがスローされることは期待できません。だから多分このように: ジェネラコディセタグプレ

他のヒント

[ExpectedException(typeof(FileNotFoundException)、 "ファイルが見つからない場合に例外を発生させる")]属性を設定すると、FileNotFoundExceptionがスローされない場合、メソッドがFileNotFoundExceptionをスローすることが期待されます。テストは失敗します。それ以外の場合、テストは成功します。

ExpectedExceptionのポイントを本当に理解したことはありません。属性ではなくコードで例外をキャッチできるはずです。これはより良い方法であり、発生後に何かを行うこともできます(たとえば、より多くの検証)...また、フォーラムで質問する必要はなく、デバッガーでコードを停止してチェックアウトすることができます。:)

Assert.Throws(TestDelegate code);。
を使用します ここに例を参照してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top