このセクションの内容

概要 

VSTest ビルトイン コンフィギュレーションのいずれかを使用して、カバレッジ情報の収集なしまたはありで単体テストを実行できます。VSTest は NUnit、MS Test、xUnit テストを実行できる実行エンジンです。VSTest を使用すると、異なるテスト フレームワークを使用するプロジェクトのテストを 1 度に実行できます。Visual Studio ソリューションに NUnit と MSTest という異なるテスト フレームワークを使用する 2 つのプロジェクトが含まれている場合も、両方のプロジェクトのテストを 1 回で実行できます。

VSTest はフレームワーク固有のテスト アダプターを使用してテストを実行します。テスト対象スコープに同じテスト フレームワークを使用する複数のプロジェクトが含まれている場合、そのフレームワークのアダプターのバージョンがすべてのプロジェクトで同一であることを確認してください。

VSTest を使用してテストを実行するには、テスト対象スコープに対して以下のビルドイン テスト コンフィギュレーションのどちらかを実行します。

  • Run VSTest Tests - テスト対象スコープ内の単体テストを実行します。
  • Run VSTest Tests with Coverage - テスト対象スコープ内の単体テストを実行し、カバレッジ情報を収集します。

個々のテスト コンフィギュレーションの詳細については「テスト コンフィギュレーションの設定」を参照してください。

VSTest で MSTest のテストを実行

  • VSTest で MSTest V2 のテストを実行する場合、テスト対象プロジェクトの出力ディレクトリにテスト アダプターがあることを確認してください。
  • MSTest フレームワークの制限により、MSTest および MSTest V2 のパラメータライズド テストの結果は、単一のテストとして集約され、レポートされます。

サンプル

コマンドは次のようになります。

  • カバレッジ情報の収集なしでテストを実行する場合

    dottestcli.exe -solution "C:\Devel\FooSolution\FooSolution.sln" -config "builtin://Run VSTest Tests" -report "C:\Report" 
  • テストを実行し、カバレッジ情報を収集する場合

    dottestcli.exe -solution "C:\Devel\FooSolution\FooSolution.sln" -config "builtin://Run VSTest Tests with Coverage" -report "C:\Report" 

課題トラッキング タグに基づいてテスト スコープを指定する

コードと課題トラッキング タグの関連付けに基づいて、テスト実行範囲を制限できます。-testTagFilter スイッチを追加し、次のフォーマットで課題トラッキング タグのタイプ (testreqfr 等) と ID を指定します。

dottestcli.exe <arguments> -testTagFilter <type>=<ID>

テストと課題トラッキング ID の関連付けについては「テストと開発成果物との関連付け」セクションを参照してください。

次の例では、要求 ID 12345 に関連付けられたテストだけが実行されます。

dottestcli.exe -solution "C:\Devel\FooSolution\FooSolution.sln" -config "builtin://Run VSTest Tests" -testTagFilter "req=12345"

同じ課題トラッキング タグの複数の ID を指定できます。

dottestcli.exe -solution "C:\Devel\FooSolution\FooSolution.sln" -config "builtin://Run VSTest Tests" -testTagFilter "req=12345,6789"

-testTagFilter スイッチを複数回使用すると、異なる課題トラッキング タイプのテストを実行できます。

dottestcli.exe -solution "C:\Devel\FooSolution\FooSolution.sln" -config "builtin://Run VSTest Tests" -testTagFilter "req=12345,6789" -testTagFilter "fr=abcd"

  • No labels