web-dev-qa-db-ja.com

TestInitializeとClassInitialize

MSTestのTestInitializeClassInitializeの違いは何ですか?それぞれの長所と短所は何ですか?

TestInitialzeは毎回、各テストで実行する必要があるという印象を受けていますか?あれは正しいですか?そして、そのClassInitializeはクラスの新しいインスタンスが実行されるたびに実行されますか?

64
snowmom475

両方の属性は、それらが属するクラス(およびテスト)でのみ使用できます。

TestInitializeは、同じクラスで宣言されているすべてのテストの前に実行します属性が宣言されています。

ClassInitializeは、属性が宣言されているクラスの初期化でonlyを実行します。つまり、すべてのクラスで実行されるわけではありません。 ClassInitializeメソッドを含むクラスのみ。

すべてのテストまたはクラスの初期化の前に1回実行されるメソッドが必要な場合は、 AssemblyInitialize を使用します。

94
chaliasos