16

外部アセンブリを使用して、テスト中のアプリケーションの UI 機能にアクセスするテストがあります。UI が適切な状態にない場合、このアセンブリは独自のカスタム型の例外をスローします。

テストの実行が完了した後、UI がクリーンな状態で再起動されるように、(TestInitialize がプロセスを開始している間に) アプリケーションのプロセスを強制終了する TestCleanup メソッドをセットアップしました。

これは通常の条件下ではうまく機能しますが、参照されているアセンブリから例外がスローされるたびに、クリーンアップ メソッドに到達せず、次のテストに直接ジャンプします。これは、AssertFailedException のように、テスト自体からスローされた例外では発生しません。テストから基本的な Exception を投げてみたところ、クリーンアップ メソッドにたどり着きました。

4

4 に答える 4

1

残念ながら、これは C# がコンストラクターで例外を処理する方法とは異なります。これが発生すると、ファイナライザーが呼び出されます。

于 2015-09-13T21:52:36.140 に答える