0

単体テストの実行時に未処理の例外が発生する理由を誰かが説明してくれるでしょうか? すべての例外を処理し、テストを失敗に設定する環境は想定されていませんか?

これは、単体テストが C++/CLI を介してアンマネージ コードを呼び出しているという事実に関連している可能性がありますか?

前もって感謝します。

編集: 明確にするために、問題に例外はありません。問題は、例外が原因で単体テストが失敗せず、次の単体テストが実行されることです。

代替テキスト

4

1 に答える 1

1

AccessViolation 例外ほど厄介なものはありません。StackOverflow だけがさらに悪いのです。アンマネージ コードは、おそらく CLR もテスト ランナーも知らないスレッドで実行されるという「通信」を確認できます。そこには非常に限られたオプションがあり、そのようなスレッドを単に存在させる方法はありません。

これはメモリ破損の問題です。CRT のデバッグ アロケータは、解放されたメモリ ブロックを 0xfeeefeee で埋めます。それはコーシャではありません。単体テストはリリース ビルドでのみ実行する必要があります。

于 2010-11-26T21:21:43.323 に答える