方法: テスト カテゴリで自動テストをグループ化して実行する
テスト カテゴリを使用すると、テスト リストを保守しなくても、割り当てられたカテゴリに基づいてテストのグループを実行できます。 テスト カテゴリとは、テスト リスト エディターを使用して 1 つまたは複数のテストに割り当てることができるテスト メソッドの属性です。
テスト カテゴリと論理演算子を組み合わせて使用すると、複数のカテゴリのテストを同時に実行したり、実行するテストを複数のカテゴリに属するテストに限定したりすることができます。 また、テスト メソッドを作成するときにテスト カテゴリの追加が容易になり、テスト メソッドの作成後にテスト リストを保守する必要がありません。
次の手順では、テスト カテゴリの作成、割り当て、フィルター処理を行ったり、テストでテスト カテゴリを実行したりする方法を説明します。
テスト カテゴリの作成と割り当て
新しいテスト カテゴリを作成するには
[テスト] メニューの [ウィンドウ] をクリックし、[テスト ビュー] をクリックします。
[テスト ビュー] ウィンドウが表示されます。
テストを選択します。
選択したテストのプロパティ ペインで、"テスト カテゴリ" 列の [...] をクリックします。
[テスト カテゴリ] ウィンドウが表示されます。
"新しいカテゴリの追加" フィールドに、新しいテスト カテゴリの名前を入力します。
[追加] をクリックします。
[OK] をクリックします。
新しいテスト カテゴリがテストに割り当てられ、[テスト ビュー] ウィンドウで他のテストに使用できるようになります。
テスト カテゴリをテストに割り当てるには
[テスト] メニューの [ウィンドウ] をクリックし、[テスト ビュー] をクリックします。
[テスト ビュー] ウィンドウが表示されます。
テストを選択します。
選択したテストのプロパティ ペインで、"テスト カテゴリ" 列の [...] をクリックします。
[テスト カテゴリ] ウィンドウが表示されます。
テストに割り当てるテスト カテゴリを [使用できるカテゴリ] ペインで選択します。 複数のテスト カテゴリを選択するには、Shift キーを押しながら M キーを押します。
[>>] をクリックします。
これで、選択したカテゴリが [割り当てられたカテゴリ] ペインに表示されます。
[OK] をクリックします。
テスト カテゴリを手動でテストに追加するには
ソリューション エクスプローラーのテスト プロジェクトで、単体テストを含むファイルを開きます。次に、変更する単体テスト メソッドを探します。
または
[テスト ビュー] で、その単体テストをダブルクリックし、単体テスト メソッドまでスクロールします。
テスト メソッドの宣言のすぐ上に、テストに割り当てる各テスト カテゴリの "TestCategory()" 属性を追加します。 各属性は、コンマを使用して区切ります。
かっこで囲んだカテゴリ名を、それぞれの "TestCategory()" 属性に追加します。 次の例は、"Nightly"、"Weekly"、"ShoppingCart" という名前の 3 つのテスト カテゴリが割り当てられたメソッドです。
[TestCategory("Nightly"), TestCategory("Weekly"), TestCategory("ShoppingCart"), TestMethod()] public Void DebitTest() { }
テスト カテゴリの削除
テスト カテゴリをテストから削除するには
[テスト] メニューの [ウィンドウ] をクリックし、[テスト ビュー] をクリックします。
[テスト ビュー] ウィンドウが表示されます。
テストを選択します。
選択したテストのプロパティ ペインで、"テスト カテゴリ" 列の [...] をクリックします。
[テスト カテゴリ] ウィンドウが表示されます。
テストから削除するテスト カテゴリを [割り当てられたできるカテゴリ] ペインで選択します。 複数のテスト カテゴリを選択するには、Shift キーを押しながら M キーを押します。
[<<] をクリックします。
これで、選択したカテゴリが [使用できるカテゴリ] ペインに表示されます。
[OK] をクリックします。
テストのカテゴリ別のフィルター処理
[テスト ビュー] ウィンドウでテストをテスト カテゴリ別に並べ替えるには
[テスト] メニューの [ウィンドウ] をクリックし、[テスト ビュー] をクリックします。
[テスト ビュー] ウィンドウが表示されます。
[テスト ビュー] のツール バーで、左のドロップダウン リストの矢印をクリックし、[テスト カテゴリ] をクリックします。
既定値は "すべての列" です。
フィルター処理のテキスト ボックスに、フィルター処理するカテゴリの名前を入力し、Enter キーを押します。
指定したカテゴリに関連付けられているテストが [テスト ビュー] に表示されます。
既定値は "フィルターのクリア" です。
(省略可能) [テスト名] 列ヘッダーまたは [プロジェクト] 列ヘッダーをクリックして、リストを並べ替えます。
テストのカテゴリ別の実行
[テスト ビュー] でカテゴリを使用してテストを実行するには
[テスト] メニューの [ウィンドウ] をクリックし、[テスト ビュー] をクリックします。
[テスト ビュー] ウィンドウが表示されます。
[テスト ビュー] のツール バーで、左のドロップダウン リストの矢印をクリックし、[テスト カテゴリ] をクリックします。
既定値は "すべての列" です。
フィルター処理のテキスト ボックスに、フィルター処理するカテゴリの名前を入力し、Enter キーを押します。
指定したカテゴリに関連付けられているテストが [テスト ビュー] に表示されます。
既定値は "フィルターのクリア" です。
注意
実行するテストをテスト ビューからフィルター処理するときは、論理演算子とテスト カテゴリを組み合わせて使用することはできません。 論理演算子を使用できるのは、コマンド ラインからテストを実行するときだけです。
(省略可能) [テスト名] 列ヘッダーまたは [プロジェクト] 列ヘッダーをクリックして、リストを並べ替えます。
テスト カテゴリのテストのうち、実行するテストをクリックします。
追加のテストを選択するには、Shift キーまたは Ctrl キーを押しながらクリックします。
ツール バーの [選択範囲を実行] をクリックします。
コマンド ラインからテストを実行するときは、論理演算子 & (AND)、| (OR)、および ! (NOT) を使用して、テストに割り当てられているカテゴリに基づいて、実行するテストを選択することもできます。
コマンド ラインからカテゴリを使用してテストを実行するには
Visual Studio のコマンド プロンプトを開きます。
これを行うには、[スタート] ボタンをクリックし、[すべてのプログラム] をポイントします。次に [Microsoft Visual Studio 2010] をポイントし、[Visual Studio Tools] をポイントして、[Visual Studio 10.0 コマンド プロンプト] をクリックします。
既定では、Visual Studio コマンド プロンプトで次のフォルダーが開きます。
<ドライブ文字>:\Program Files\Microsoft Visual Studio 10.0\VC
注意
コマンド プロンプト ウィンドウで既定で開くフォルダーを変更するには、[スタート] ボタンをクリックし、[Microsoft Visual Studio 2010] をポイントし、[Visual Studio Tools] をポイントします。次に、[Visual Studio 10.0 コマンド プロンプト] を右クリックし、[プロパティ] をクリックします。 [Visual Studio 10.0 コマンド プロンプトのプロパティ] ダイアログ ボックスの [作業フォルダー] ボックスで、既定のフォルダーへのパスを変更できます。
通常はテスト プロジェクトの .dll ファイルであるテスト コンテナーが置かれているソリューション フォルダー内の場所にディレクトリを変更します。また、手順 3. で MSTest.exe プログラムを実行するときは、テスト コンテナーの完全パスまたは相対パスを指定します。
ソリューション フォルダーを見つけるには、まず Visual Studio Projects フォルダーを見つけます。 これを行うには、Visual Studio で [ツール] メニューの [オプション] をクリックし、[プロジェクトおよびソリューション] をクリックします。 [Visual Studio プロジェクトの場所] の下に次のようなパスが表示されます。
<drive letter>:\Documents and Settings\<user name>\My Documents\Visual Studio\Projects
通常、ソリューション フォルダーは次の例の Bank フォルダーのように、この Projects フォルダーのサブフォルダーです。
<drive letter>:\Documents and Settings\<user name>\My Documents\Visual Studio\Projects\Bank
"Nightly" カテゴリと "ShoppingCart" カテゴリの両方に割り当てられているテストを実行するには、次のように「/testcontainer」スイッチと「/category」スイッチを使用して MSTest.exe プログラムを実行します。
mstest /testcontainer:MyTestprojectName.dll /category:"Nightly&ShoppingCart"
結果と概要がコマンド プロンプト ウィンドウに表示されます。
注意
式で AND または OR を使用してテストのカテゴリを選択することはできますが、同じ式で AND と OR の両方を使用することはできません。
詳細については、「方法: MSTest を使用してコマンド ラインから自動テストを実行する」および「MSTest.exe コマンド ライン オプション」を参照してください。