方法: テスト カテゴリで自動テストをグループ化して実行する
テスト カテゴリを使用すると、テスト リストを保守しなくても、割り当てられたカテゴリに基づいてテストのグループを実行できます。 テスト カテゴリとは、1 つまたは複数のテストに割り当てることができるテスト メソッドの属性です。
テスト カテゴリと論理演算子を組み合わせて使用すると、複数のカテゴリのテストを同時に実行したり、実行するテストを複数のカテゴリに属するテストに限定したりすることができます。 また、テスト メソッドを作成するときにテスト カテゴリの追加が容易になり、テスト メソッドの作成後にテスト リストを保守する必要がありません。
要件
- Visual Studio Ultimate、Visual Studio Premium、Visual Studio Test Professional
テスト カテゴリの作成と割り当て
テスト カテゴリを手動でテストに追加するには
単体テスト プロジェクトか、ソリューション エクスプローラーのコード化された UI テスト プロジェクトで、単体テストを含むファイルを開きます。次に、変更する単体テスト メソッドを探します。
テスト メソッドの宣言のすぐ上に、テストに割り当てる各テスト カテゴリの "TestCategory()" 属性を追加します。 各属性は、コンマを使用して区切ります。
かっこで囲んだカテゴリ名を、それぞれの "TestCategory()" 属性に追加します。 次の例は、"Nightly"、"Weekly"、"ShoppingCart" という名前の 3 つのテスト カテゴリが割り当てられたメソッドです。
[TestCategory("Nightly"), TestCategory("Weekly"), TestCategory("ShoppingCart"), TestMethod()] public void DebitTest() { }
テストのカテゴリ別の実行
コマンド ラインからテストを実行するときは、論理演算子 & (AND)、| (OR)、および ! (NOT) を使用して、テストに割り当てられているカテゴリに基づいて、実行するテストを選択することもできます。
コマンド ラインからカテゴリを使用してテストを実行するには
Visual Studio のコマンド プロンプトを開きます。
これを行うには、[スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft Visual Studio 2013]、[Visual Studio Tools] の順にポイントして、[開発者コマンド プロンプト] を選択します。
既定では、Visual Studio コマンド プロンプトで次のフォルダーが開きます。
<ドライブ文字>:\Program Files\Microsoft Visual Studio 12.0\VC
注意
コマンド プロンプト ウィンドウで既定で開くフォルダーを変更するには、[スタート] ボタンをクリックし、[Microsoft Visual Studio 2013]、[Visual Studio Tools] の順にポイントします。次に、[開発者コマンド プロンプト] を右クリックして [プロパティ] を選択します。[開発者コマンド プロンプトのプロパティ] ダイアログ ボックスの [開始] ボックスで、既定フォルダーのパスを変更できます。
通常はテスト プロジェクトの .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" カテゴリに割り当てるテストを実行するには、/TestCaseFilter オプションを使用して VSTest.Console.exe を実行するか、/testcontainer オプションおよび /category オプションを使用して MSTest.exe から実行します。
VSTest.Console.exe
Vstest.console.exe myTestProject.dll /TestCaseFilter:"TestCategory=Nightly"
MSTest.exe
mstest /testcontainer:MyTestprojectName.dll /category:"Nightly"
結果と概要がコマンド プロンプト ウィンドウに表示されます。
注意
式で AND または OR を使用してテストのカテゴリを選択することはできますが、同じ式で AND と OR の両方を使用することはできません。
詳細については、「VSTest.Console.exe のコマンド ライン オプション」、「MSTest を使用したコマンド ラインからの自動テストの実行」、および「MSTest.exe のコマンド ライン オプション」を参照してください。