このセクションの内容
プライマリ スコープの設定
テスト スコープは、dotTEST で解析するファイルのセットを定義します。-solution
、-project
、および -website
オプションを使ってプライマリ テスト スコープを指定できます。 また、-
resource
、-include
、および -
exclude
オプションを使ってスコープを絞り込むことができます。ソリューションまたはプロジェクトをプライマリ スコープとして指定する場合は、ソリューションまたはプロジェクトの構成とターゲット ラットフォームを指定します。コマンドは次のようになります。
dottestcli.exe -solution "C:\Devel\FooSolution\FooSolution.sln" -solutionConfig Debug -targetPlatform "Any CPU" -config "builtin://Critical Rules" -report "C:\Report"
-solution
: 解析するソリューションへのパスを指定します (同じコマンドラインで複数のソリューションを指定できます)。
-solutionConfig
: ソリューション構成を指定します。
-targetPlatform
: ターゲット プラットフォームを指定します。
-config
: 指定したテスト スコープで実行するテスト コンフィギュレーションを指定します。
IDE から解析を実行する場合、アクティブなエディターで開かれているソース ファイルは、ソリューション エクスプローラーで定義されたリソースより優先され、このファイルだけが解析されます。
resource
オプションによるスコープの変更
-resource
オプションを使用してプライマリ スコープを絞り込み、次のいずれかを指定できます。
- ソリューション内のプロジェクトへのパス
- プロジェクト内のファイルのディレクトリへのパス
- ファイルへのパス
パスはソリューションに対する相対パスでなければなりません。Ant スタイルのワイルドカードを使用してリソースを指定できます。 ファイル システムに一致する絶対パスを指定したい場合は、「include
および オプションを使用したスコープの変更」 を参照してください。
例:
ソリューション内の単一のプロジェクトをテスト
dottestcli.exe -solution "C:\Devel\FooSolution\FooSolution.sln" -resource "FooSolution/QuxProject" -config "builtin://Demo" -report "C:\Report"
プロジェクト内の単一のディレクトリをテスト
dottestcli.exe -solution "C:\Devel\FooSolution\FooSolution.sln" -resource "FooSolution/BarProject/QuxDirectory" -config "builtin://Demo"
単一のソース ファイルをテスト
dottestcli.exe -solution "C:\Devel\FooSolution\FooSolution.sln" -resource "FooSolution/BarProject/QuxDirectory/BazFile.cs" -config "builtin://Demo"
ソリューション フォルダー内の単一のプロジェクトをテスト
dottestcli.exe -solution "C:\Devel\FooSolution\FooSolution.sln" -resource "FooSolution/BarSolutionFolder/QuxProject" -config "builtin://Demo" -report "C:\Report"
ソリューションがない場合に単一のソース ファイルをテスト
-project
オプションは、ソリューションが提供されていない場合にのみ使用してください。ソリューションの名前が分からないため、ソリューション パスは /
で始まります。
dottestcli.exe -project "C:\Devel\FooSolution\FooProject.csproj" -resource "/FooProject/BarDirectory/QuxFile.cs" -config "builtin://Demo" -report "C:\Report"
include
および exclude
オプションによるスコープの変更
スコープにその他のフィルターを適用するには、-include
および -exclude
スイッチを使用します。
-include
スイッチは、ファイル システムのパスに一致するファイルだけをテストするよう指定します。その他のファイルはスキップされます。-exclude
スイッチは、ファイル システムのパスに一致するファイルを除き、プライマリ スコープ中の全ファイルをテストするよう指定します。
Ant スタイルのワイルドカードを使用してリソースを指定できます。次のサンプルは、*.Tests
ディレクトリの下にあるすべてのファイルを除外する方法を示しています。
dottestcli.exe -solution "C:\Devel\FooSolution\FooSolution.sln" -exclude "C:\Devel\FooSolution\*.Tests\**\*.*" -config "builtin://Demo" -report "C:\Report"
多数のファイルを -include/-exclude で指定する場合、リスト ファイル (*.lst) を作成し、そのリスト ファイルのパスを指定することもできます。*.lstファイルの各アイテムが個別のエントリとして扱われます。
追加のアセンブリの指定
解析対象プロジェクトの依存関係を解決するのに必要な追加のアセンブリへのパスを指定するには、-reference
スイッチを使用します。 ANT スタイルのワイルドカードおよび現在の作業ディレクトリからの相対パスを指定できます。
例
-reference C:\MySolution\ExternalAssemblies\*.dll -reference C:\MySolution\ExternalAssemblies\*.exe -reference C:\MySolution\ExternalAssemblies\**\*.dll -reference C:\MySolution\ExternalAssemblies\**\*.dll
「Unable to find reference assembly」というメッセージが表示された場合、-reference
スイッチを使用してください。
ソース管理データに基づくファイル フィルターの定義
追加のファイル フィルターをセットアップすることで、ローカルで変更されたファイルまたは現在の作業ブランチで変更されたファイルだけに解析範囲を制限できます。これにより、ソース管理システムにコードをチェックインしたり、メインの開発ストリームにコードをマージする前に、最近のコードの変更で入り込んだバグを検出し、修正する作業に集中できるようになります。
前提条件
- サポート対象のソース管理システムへの接続が適切に設定されていること (「ソース管理システムへの接続」および「ソース管理システムの設定」を参照)
scope.scontrol
=true
が設定され、ソース管理システムに基づいた作成者の算出が有効化されていること (「スコープと作成者の設定」を参照)
ローカルで変更されたファイルの解析
解析のスコープをローカルで変更されたファイルだけに限定するには、.properties 設定ファイルに次のオプションを追加します。
scope.scontrol.files.filter.mode=local
現在の作業ブランチで変更されたファイルの解析
"master" や "trunk" などのメインの統合ストリームと異なっている現在の作業ブランチのファイルだけに解析のスコープを限定するには、.properties 設定ファイルに次のオプションを追加します。
scope.scontrol.files.filter.mode=branch
作業ブランチとメインの統合ストリームではなく別のブランチを比較したい場合、または特定のリビジョンと比較したい場合は、参照として使用するブランチまたはリビジョンの名前または ID を指定する必要があります。次の設定は、カスタムブランチ/リビジョンと異なっている現在の作業ブランチのファイルに解析スコープを限定します。
scope.scontrol.files.filter.mode=branch scope.scontrol.ref.branch=[name/ID of the custom reference branch/revision]
.properties ファイルで設定されたスコープ フィルター設定は、すべてのテスト コンフィギュレーションに影響を与えます。
「スコープと作成者の設定」を参照してください。
別の方法として、テスト コンフィギュレーションで追加のスコープ フィルターを定義することもできます。それには、カスタム テスト コンフィギュレーションを作成し、適用するフィルターを指定します。「カスタム テスト コンフィギュレーションの作成」を参照してください。GUI で設定されたスコープ フィルターは、特定のテスト コンフィギュレーションにだけ適用され、.properties
ファイルで設定されたスコープ フィルターによって上書きされます。