このセクションの内容

概要 

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

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

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

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

全般

  • VSTest でテストを実行する場合、テストが確実に適切なソース コードに関連付けられるようにするために、pdb ファイルに Full デバッグ情報を設定することが推奨されます。Full デバッグ情報が設定されていない場合、レポートに 'unknown' というプロジェクトが表示され、ソース コードに関連付けられていないテストがこのプロジェクトの下にグループ化される場合があります。

MSTest

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

サンプル

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

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

コードと課題トラッキング タグの関連付けに基づいて、テスト実行範囲を制限できます。-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"