.runsettings ファイルを使用した単体テストの構成
Visual Studio 2012 の単体テストは .runsettings ファイルを使用して構成できます。たとえば、テストが実行される .NET Framework を、テスト結果が提供された、テストの実行中に収集されるデータ ディレクトリを変更できます。
[!メモ]
.runsettings と .testsettings
.runsettings は、Visual Studio 2012 で新たに追加されました。以前のバージョンの Visual Studio の単体テストに慣れている場合は、.testsettings のファイルについて知ることがあります。引き続き Visual Studio 2012 では .testsettings を使用できるため、前のエディション用に作成されたテスト構成が引き続き動作します。MSTest のアダプター用に記述されたテストを構成するために、.testsettings を使用できます。一方、.runsettings は xUnit など、Visual Studio 2012 で拡張できる単体テスト フレームワークのビルド アダプターのいずれかを使用できます。NET および NUnit。
.testsettings ファイルを使用するテストはまったく構成ファイルはゆっくり実行ではないを取り、に .runsettings ファイルを使用するテストより、または場合があります。
まだ一部のテストの .testsettings ファイルが必要です。:
ラボ環境に配置されるテスト。
Web パフォーマンス テストおよびロード テスト。
一部の種類の IntelliTrace イベントとイベント ログなどの診断データ アダプターをカスタマイズします。
.testsettings に関する詳細については、Visual Studio のテストにおけるテスト設定の指定"を参照してください。
.runsettings ファイルを含むテストのカスタマイズ
ファイル拡張子が .runsettings になるように XML ファイルを、Visual Studio ソリューションに追加し、名前をに変更します。
例ファイルの内容を置き換えます。
独自のニーズにそれを編集します。
[テスト] で、メニューの [テストの設定]、[テスト設定ファイルの選択] を選択します。
異なる時点で [テストの設定] のメニューを使用してソリューション内の複数の .runsettings ファイルを作成し、それらを有効または無効にします。
この例 .runsettings のファイルのコピー
一般的な .runsettings ファイルを次に示します。ファイルの各要素は、値が既定値を持つため省略可能です。
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<!-- Configurations that affect the Test Framework -->
<RunConfiguration>
<!-- Path relative to solution directory -->
<ResultsDirectory>.\TestResults</ResultsDirectory>
<!-- [x86] | x64
- You can also change it from menu Test, Test Settings, Default Processor Architecture -->
<TargetPlatform>x86</TargetPlatform>
<!-- Framework35 | [Framework40] | Framework45 -->
<TargetFrameworkVersion>Framework40</TargetFrameworkVersion>
</RunConfiguration>
<!-- Configurations for data collectors -->
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector friendlyName="Code Coverage" uri="datacollector://Microsoft/CodeCoverage/2.0" assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Configuration>
<CodeCoverage>
<ModulePaths>
<Exclude>
<ModulePath>.*CPPUnitTestFramework.*</ModulePath>
</Exclude>
</ModulePaths>
</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
<!-- Adapter Specific sections -->
<!-- MSTest adapter -->
<MSTest>
<MapInconclusiveToFailed>True</MapInconclusiveToFailed>
<CaptureTraceOutput>false</CaptureTraceOutput>
<DeleteDeploymentDirectoryAfterTestRunIsComplete>False</DeleteDeploymentDirectoryAfterTestRunIsComplete>
<DeploymentEnabled>False</DeploymentEnabled>
</MSTest>
</RunSettings>
このトピックの残りの部分は、ファイルの内容について説明します。
自分の .runsettings ファイルを編集します。
.runsettings ファイルは、次の要素があります。
テストの実行の構成
ノード |
既定値 |
価値 |
---|---|---|
ResultsDirectory |
テスト結果を格納するディレクトリ。 |
|
TargetFrameworkVersion |
Framework40 |
Framework35、Framework40、Framework45 これは、テストを検出して実行するために単体テスト フレームワークのバージョンを使用するかを指定します。これは、単体テスト プロジェクトのビルド プロパティで指定した .NET プラットフォームのバージョンと異なります。 |
TargetPlatform |
x86 |
x86、x64 |
TreatTestAdapterErrorsAsWarnings |
false |
の場合、true |
診断データ アダプター (データ コレクター)
DataCollectors の要素は診断データ アダプターの設定を指定します。診断データ アダプターでテスト対象の環境についての追加情報とアプリケーションを収集するために使用します。各アダプターは既定の設定になっており、既定値を使用しない場合にのみ設定を指定する必要があります。
コード カバレッジのアダプター
コード カバレッジ データ コレクターは、アプリケーション コードの一部がテストで実行されたログを作成します。コード カバレッジの設定のカスタマイズの詳細については、コード カバレッジ分析のカスタマイズを参照してください。
他の診断データ アダプター
コード カバレッジのアダプターは現在実行設定ファイルを使用してカスタマイズできる唯一のアダプターです。
診断データ アダプターの他の種類をカスタマイズするには、テスト設定ファイルを使用する必要があります。詳細については、「Visual Studio のテストにおけるテスト設定の指定」を参照してください。
MSTest の実行設定
これらの設定は [TestMethod] の属性を持つテスト メソッドを実行するテスト アダプター固有です。
構成 |
既定値 |
価値 |
---|---|---|
ForcedLegacyMode |
false |
Visual Studio 2012 ではなり、拡張可能にするために、MSTest のアダプターは、最適化されています。テストが実行される順序などの動作は、Visual Studio の以前のエディションに使用した場合とまったくない場合もあります。古いテスト アダプターを使用するには、この値 true を設定します。 たとえば、単体テストに対して指定されている app.config ファイルがある場合は、これを使用することがあります。 また、リファクタリングがテストと新しいアダプターを使用できるようにすることを検討することをお勧めします。 |
IgnoreTestImpact |
false |
テスト影響の機能は最新の変更によって影響を受けるテストに優先度をオンにし、MSTest または Microsoft テスト マネージャーから移動したとき。この設定は、機能を非アクティブ化します。詳細については、「方法: コードの変更後に実行するテストをチェックするためのデータを収集する」を参照してください。 |
SettingsFile |
ここでの MS テスト アダプターを使用するテスト設定ファイルを指定できます。メニュー [テスト]、[テストの設定]、[テスト設定ファイルの選択] を使用してテスト設定ファイルを指定できます。 この値を指定する場合は、ForcedlegacyMode が true に自動的に設定されます。 |
|
KeepExecutorAliveAfterLegacyRun |
false |
テストの実行が完了すると、MSTest がシャットダウン。テストの一部として起動するプロセスは、現時点で殺されます。テストのエグゼキュータを履歴に保持する場合は、true にこの構成を回転します。 たとえば、ブラウザーをコード化された UI テストの間で引き続き実行されるために使用できます。 |
DeploymentEnabled |
true |
配置ディレクトリの[False]に設定するには、テスト メソッドで指定した配置項目に設定されます。 |
CaptureTraceOutput |
true |
Trace.WriteLine を使用してテスト メソッドからデバッグ トレースに記述できます。この構成を使用して、これらのデバッグ トレースを終了できます。 |
DeleteDeploymentDirectoryAfterTestRunIsComplete |
true |
テストの実行後に false にこの値を設定することで、配置のディレクトリを保持できます。 |
MapInconclusiveToFailed |
false |
テストが不確定の状態と返された場合、通常はテストのパフォーマンス エクスプローラーの状態にマップされます。不確定のテストは失敗として表示される場合は、この構成を使用します。 |
InProcMode |
false |
テストによってテストのアダプターと同じプロセスで実行する場合は true に設定します。この設定は、わずかなパフォーマンスが向上します。ただし、テストが例外で終了した場合、他のテストはありません。 |