テスト対象メソッドに不正な引数が与えられた場合にException
がスローされることを保証するMSテストユニットテストがあります。VS2010デバッガで処理された例外が発生する
My actual;
bool threw = false;
try
{
actual = target.DoSomething(aBadParameter);
}
catch
{
threw = true;
}
Assert.IsTrue(threw);
私は、ユーザー-未処理の(スローされない場合)場合にのみ、破るために設定されCLR例外を持っている:私は、パターンを使用しています。ただし、DoSomething()
がnew Exception()
をスローすると、デバッガがブレークします。再開すると、単体テストが正常に完了します。
ユニットテストコードをメインプログラムにカットアンドペーストして、メインプログラムのコンテキスト(MS Testではなく)で実行すると、デバッガはユーザが処理したExceptionでブレークしません。
ユーザが処理した例外でデバッガが壊れるのを防ぐにはどうすればよいですか?
その場合、例外は別のスレッドでスローされたコールバック内部CLRによって再スローされていたので、これは
Getting an Unhandled Exception in VS2010 debugger even though the exception IS handled
に関連する表面に表示されません。
を私はこのいずれかを入力しようとした1 –
私はExpectedExceptionとまったく同じ動作を取得します。 http://stackoverflow.com/questions/2628965/expectedexception-on-testmethod-visual-studio-2010 –
を参照してください。@Eric J:これは、あなたの質問の主な問題に対処できないかもしれないことに注意してください - 例外があってもデバッガが壊れます処理された。これが役に立ったら教えてください。それ以外の場合は削除されます。 – BrokenGlass