2011-11-17 11 views
5

つまり、ClassCleanup属性で装飾されたメソッドを1回実行するすぐにテストクラスのすべてのテストの後に? (NUnitのTestFixtureTearDownのように)。回避策はありますか?MSTest/VSユニットテストで確定的なClassCleanupを使用することは可能ですか?

この大量のセットアップ/ティアダウンをTestInitializeとTestCleanupに組み込む代わりに、テスト実行時間が短縮されます。

私は過去1週間で2つを比較していました。 (ここではMSTestを飛んで多くの時間を持っていない。私はNUnit vs MSTest見つけたものですので、私はミスを犯してしまった場合、コメントとして修正を投稿すること自由に感じなさい。)

この特定の項目は致命です私が関心を持つ限り。詳細をご希望の場合は、ブログ記事の最初のセクションをお読みください。次のように

+0

あなたは2行目のparanthesisにNUnitのを意味するのですか? -xUnitはDisposeを使って動作します –

+0

私はxUnitファミリを意味しました。とにかくxUnit.netとの混乱を避けるために修正されました – Gishu

答えて

0

MSDN ClassCleanupに従って実行される:クラス

ClassInitializeとClassCleanupについては

は、あなたのクラスがアンロードされる前に、あなたのクラスは ロードされ、右側で右の後に呼び出されています。

私が読んだことは、クラスのテストが実行されたことを意味します。

+0

vs2010ページにコミュニティノートを追加しました。質問にリンクされている投稿の最初のセクションを見てください。 MSDNのページでは、「クラスクリーンアップは将来、バッチとして実行されます。最後のテストとClass#1のClassCleanupの間で他のテストクラスを実行することもできます。 " – Gishu

+0

Ok。didn'rはそれを認識しています。 –

1

ClassInitializeとClassCleanupは、クラスがロードされた直後、クラスがアンロードされる直前に呼び出されます。

すべてのテストが終了すると、クラスはバルクアンロードされます。

など。

ClassInitialize1
TestInitialize1
TestMethod11
TestCleanup1
TestInitialize1
TestMethod12
TestCleanup1
ClassInitialize2
TestInitialize2
TestMethod21
TestCleanup2
TestInitialize2
TestMethod22
TestCleanup2
TestInitialize2
TestMethod23
TestCleanup2
ClassCleanup1
ClassCleanup2

関連する問題