方法 : テストを無効または有効にする
更新 : 2007 年 11 月
あるテストが属するテスト グループを実行する場合、そのテストを無効にして一時的に使用できないようにできます。無効にしたテストはいつでも有効にできます。テストを無効にする理由は何でしょうか。次に可能性のある例を示します。
本番ビルドにバグがあり、クラッシュの原因となっています。このバグは、テストの 1 つで実行されるコードにあります。このテストは、順番に実行されるテストのうちの 1 つです。このテストが間接的に発生させるクラッシュのために、順番に行われるテスト実行で、そのテスト以降に進むことができません。解決方法は、クラッシュするコードのバグをファイルして、バグが修正されるまでそのテストを無効にすることです。これにより、テスト シーケンスはそのテスト以降に進むことができます。
特定のテストのテスト実行でバグを発見し、ファイルします。選択したテストを実行するたびに、繰り返し同じエラーを発見しないようにするため、そのテストを無効にします。
メモ : 関連するバグが修正されたら、テストを再び有効にします。
無効にされたテストを含むテスト リストを実行すると、テスト リストに有効なテストが存在する場合、有効なテストのみが実行されます。テスト リストに有効なテストが含まれていない場合、テスト リスト自体が無効になります。
単体テストでの Ignore 属性の使用
「Ignore 属性の使用」では、単体テスト メソッドに IgnoreAttribute 属性でマークを付ける方法について説明しています。この属性を使用すると、テストの可用性が変更されます。ただし、テストを無効にしたり、有効にしたりする他の方法とは、次の点で異なります。
「テストを無効にする」および「テストを有効にする」で説明されているように、任意の種類のテストを無効にしたり、有効にしたりするには、テスト リスト エディタを使用できます。ただし、Ignore 属性は、テスト メソッドだけに適用できます。つまり、Ignore 属性は単体テストだけに適用できます。
テストを有効および無効にするフラグは、テスト メタデータ ファイルに格納されています。
単体テストの Ignore 属性は、その他の属性やテストのソース コードと一緒に、単体テストのソース ファイルに存在します。このため、テスト リスト エディタで単体テストを無効にして、MSTest.exe コマンド ライン ユーティリティを使用して後でそのテストを実行すると、テストはそのまま実行されます。ただし、単体テストに Ignore 属性でマークを付けて、アセンブリをコンパイルし、MSTest.exe を使用してテストを実行すると、テストは実行されません。実行されないのは、Ignore 属性がテストの一部となったためです。
これらの 2 つの方法は、異なるシナリオで使用されます。
Ignore 属性。実行コードおよびテスト コードの両方を作成する開発者であるとします。大規模な変更を行っている最中であり、単体テストの 1 つがしばらくの間破損した状態となることを認識しています。そのため、テストをチェックインする際に、テストに Ignore 属性でマークを付けて、このテストを動作させないことを示します。
無効および有効にする。ビルド ラボで作業していて、実行中のテストのソース コードへのアクセスできません。この場合、テスト リスト エディタの有効機能および無効機能のみを使用できます。
テストを無効にする
テストを無効にするには
1 つのテストを無効にするには、テスト リスト エディタで、有効なテストを右クリックし、[無効] をクリックします。複数のテストを無効にするには、Ctrl キーまたは Shift キーを押したまま、無効にするテストの行をクリックし、テストを強調表示します。次に、選択した行を右クリックし、[無効] をクリックします。
または
テスト リスト エディタまたは [テスト ビュー] ウィンドウでテストを選択し、F4 キーを押して [プロパティ] ウィンドウを表示します。次に、有効なテスト プロパティの値を False に設定します。
テストを有効にする
テストを有効にするには
1 つのテストを有効にするには、テスト リスト エディタで無効になっているテストを右クリックし、[有効] をクリックします。複数のテストを有効にするには、Ctrl キーまたは Shift キーを押したまま、有効にするテストの行をクリックし、テストを強調表示します。次に、選択した行を右クリックし、[有効] をクリックします。
または
テスト リスト エディタまたは [テスト ビュー] ウィンドウでテストを選択し、F4 キーを押して [プロパティ] ウィンドウを表示します。次に、有効なテスト プロパティの値を True に設定します。
Ignore 属性の使用
Ignore 属性を使用するには
ソース コードを編集する単体テストを開きます。これを行うには、テスト リスト エディタで、単体テストをダブルクリックします。
単体テストが含まれているソース コード ファイルが開きます。
IgnoreAttribute 属性を単体テストに追加します。
テストが無効になります。[プロパティ] ウィンドウで、有効なテスト プロパティが自動的に False に設定されます。この操作のスコープの詳細については、前の「単体テストでの Ignore 属性の使用」を参照してください。
テストを再び有効にするには、Ignore 属性を削除するか、コメント アウトします。