VSTest Bridge 拡張機能
この拡張機能は VSTest との互換性レイヤーを提供し、それに応じてテスト フレームワークが VSTest モード (vstest.console.exe
、通常の dotnet test
、AzDo での VSTest task
、Visual Studio のテスト エクスプローラー、Visual Studio Code 等) での実行をサポートし続けることを可能にします。この拡張機能は、 Microsoft.Testing.Extensions.VSTestBridge パッケージの一部として配布されています。
VSTest との互換性
この拡張機能の主な目的は、新しいプラットフォームが有効になるデュアル モードを許可することで、VSTest ユーザーに簡単でスムーズなアップグレード エクスペリエンスを提供することです。また並行して、通常のワークフローを引き続き機能させるために互換性モードが提供されます。
Runsettings のサポート
この拡張機能を使用すると、 VSTest .runsettings ファイルを提供することができますが、このファイル内のすべてのオプションがプラットフォームによって取り扱われるわけではありません。 ここでは、サポートされているおよびサポートされていない設定、構成オプションと、最も使用される VSTest 構成オプションの代替方法について説明します。
テスト フレームワークで有効にした場合は、 --settings <SETTINGS_FILE>
を使用して .runsettings
ファイルを指定することができます。
RunConfiguration 要素
RunConfiguration 要素には、次の要素を含めることができます。 これらの設定のいずれも Microsoft.Testing.Platform
では考慮されません。
ノード | 説明 | 理由 / 回避策 |
---|---|---|
MaxCpuCount | この設定では、プロセス レベルでの並列処理のレベルが制御されます。 プロセス レベルの並列処理の最大数を有効にするには、0 を使用します。 | Microsoft.Testing.Platform を MSBuild と共に使用すると、このオプションは MSBuild にオフロードされます。 1 つの実行可能ファイルが実行されている場合、このオプションは Microsoft.Testing.Platform には意味がありません。 |
ResultsDirectory | テスト結果が配置されるディレクトリ。 パスは .runsettings ファイルが含まれるディレクトリの相対パスになります。 | コマンドライン オプション --results-directory を使用して、テスト結果が配置されるディレクトリを決定します。 指定されたディレクトリが存在しない場合は、作成されます。 既定値は、テスト アプリケーションを含むディレクトリ内の TestResults です。 |
TargetFrameworkVersion | この設定では、テストの実行に使用するフレームワーク バージョンまたはフレームワーク ファミリが定義されます。 | このオプションは無視されます。 <TargetFramework> または <TargetFrameworks> MSBuild プロパティによって、アプリケーションのターゲット フレームワークが決まります。 テストは最終的なアプリケーションでホストされます。 |
TargetPlatform | この設定では、テストの実行に使用するアーキテクチャが定義されます。 | <RuntimeIdentifier> では、テストをホストする最終的なアプリケーションのアーキテクチャを決定します。 |
TreatTestAdapterErrorsAsWarnings | テスト アダプターのエラーを抑制し、警告になるようにします。 | Microsoft.Testing.Platform では、1 つのアセンブリから実行できるテストの種類は 1 つだけであり、テスト フレームワークまたはインフラストラクチャの他の部分の読み込みに失敗すると、一部のテストを検出または実行できなかったことが示されるため、スキップできないエラーになります。 |
TestAdaptersPaths | TestAdapter が配置されているディレクトリの 1 つまたは複数のパス | Microsoft.Testing.Platform ではテスト アダプターの概念が使用されず、拡張機能がビルドの一部であり、ビルド ターゲットを介して自動的に、または手動で Program.cs に登録されていない限り、拡張機能の動的読み込みは許可されません。 |
TestCaseFilter | 実行されるテストを制限するフィルター。 | テストをフィルター処理するには、 --filter コマンド ライン オプションを使用します。 |
TestSessionTimeout | 指定されたタイムアウトを超えたときにユーザーがテスト セッションを終了できるようにします。 | 代替オプションはありません。 |
DotnetHostPath | テスト ホストの実行に使用する dotnet ホストへのカスタム パスを指定します。 | Microsoft.Testing.Platform では、dotnet の追加の解決は行われません。 dotnet がそれ自体を解決する方法に完全に依存します。これは、 DOTNET_HOST_PATH などの環境変数によって制御できます。 |
TreatNoTestsAsError | テストが検出されない場合は、0 以外の終了コードで終了します。 | テスト アプリケーションでテストが検出も実行もされていない場合、Microsoft.Testing.Platform は既定でエラーになります。 --minimum-expected-tests コマンドライン パラメーター (既定値は 1) を使用して、アセンブリ内で検索するテストの数を設定できます。 |
DataCollectors 要素
Microsoft.Testing.Platform
ではデータ コレクターは使用されていません。 代わりに、インプロセスおよびアウトプロセス拡張機能の概念があります。 各拡張機能は、それぞれの構成ファイルまたはコマンド ラインを使用して構成されます。
最も重要なのは、 ハング と クラッシュ 拡張機能、および コード カバレッジ 拡張機能です。
LoggerRunSettings 要素
Microsoft.Testing.Platform
において、ロガーはコマンド ライン パラメータまたはコード内の設定によって構成されます。
VSTest フィルターのサポート
この拡張機能では、VSTest フィルター処理メカニズムを使用して、フィルター式に一致するテストのみを検出または実行する機能も提供されています。 詳細については、「フィルター オプションの詳細」セクションを参照するか、フレームワーク固有の詳細については、「選択した単体テストの実行」ページを参照してください。
テスト フレームワークで有効にした場合は、 --filter <FILTER_EXPRESSION>
を使用することができます。
.NET