2011-07-19 12 views
3

MSTESTの[TestCleanup]属性でクリーンアップ関数をマークすると、コードに未処理の例外があっても常に実行されますか?このコードブロックが実行されない原因になるものはありますか?私はこれを設定し、それをテストしたが、それは常にクリーンアップを実行するようだが、私は何かを逃していないことを確認したい。MSTest属性の使用

+5

はい、プロセスがクラッシュした場合、電源が失われ、ハードドライブに障害が発生します。 –

答えて

5

テストで例外がスローされた場合、[TestCleanup]コードが実行されます。

TestCleanupが実行されない原因となる唯一の問題は、管理されていないアクセス違反です。その結果、MSTestのプロセス全体が終了します。しかし、管理された土地のほとんどはOKで、TestCleanupは実行されます。

など明らかに

、コメントで述べたように、そのプロセスは、TestCleanupが実行されないようになります終了することができます何でも、例えば、失われたパワー、ハードドライブの故障、

0

TestInitializeが投げた場合TestCleanupは実行されません。例外。これは単体テストフレームワークの共通の「機能」です。

関連する問題