Microsoft。Testing.Platform (MTP) の機能

MTP には組み込みの機能が付属しており、NuGet パッケージを使用して拡張できます。

Microsoft.Testing.Platform.MSBuild (MSTest、NUnit、xUnit ランナーによって推移的に含まれる) を使用する場合、拡張機能 NuGet パッケージのインストールは必要なだけで済みます。拡張機能は自動的に検出され、登録され、エントリ ポイントが自動的に生成されます。

<GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>設定して自動生成されたエントリ ポイントをオプトアウトする場合は、Main メソッドに拡張機能を手動で登録する必要があります。 各拡張機能ページには、手動登録呼び出しが文書化されています。

NuGet パッケージを必要とする拡張機能には、独自のライセンス モデル (少し緩やかなもの) が付属しています。使用する拡張機能に関連付けられているライセンスを必ず参照してください。

一部の拡張機能は 試験段階です。API には TPEXP 診断で注釈が付けられます。将来のリリースで変更される可能性があるため、それらを使用するには診断を確認する必要があります。 試験的な拡張機能は、次の一覧でマークされています (試験段階)。

ここから始める

目標に基づいて次のパスを使用します。

シナリオ別に選択する

  • ターミナル出力をカスタマイズする必要がある: ターミナル出力 (組み込み)
  • TRX レポートまたは Azure DevOps レポートが必要: Test reports (拡張機能)
  • GitHub Actionsネイティブ出力が必要です (ログ グループ、注釈、ジョブの概要): レポートGitHub Actions (拡張機能)
  • カバレッジ データが必要です: コード カバレッジ (拡張機能)
  • クラッシュまたはハングの診断が必要: クラッシュ ダンプとハング ダンプ (拡張機能)
  • 実行中に画面を記録する必要がある: 診断 (拡張機能、試験段階)
  • パッケージ アプリのテスト ホストをデプロイして起動する必要がある: テスト ホストのデプロイ (拡張機能、試験段階)
  • プラットフォーム ログを Microsoft.Extensions.Logging: Microsoft.Extensions 統合 (拡張機能、実験段階) 経由でルーティングする必要があります
  • エディターまたは IDE 統合をビルドする必要がある: サーバー モード (組み込み)
  • コンパイル時の参照ではない拡張機能を読み込む必要がある: 動的な拡張機能の読み込み (組み込み、オプトイン)
  • 失敗したテストを再試行する必要がある: 再試行 (拡張機能)
  • ホットリロードのサポートが必要です: ホットリロード (拡張機能)
  • Microsoft Fakes のサポートが必要: Microsoft Fakes (拡張機能)
  • OpenTelemetryのトレースとメトリックが必要: OpenTelemetry (拡張機能)
  • AI チャット クライアントをテスト フレームワークまたは拡張機能に提供する必要がある: AI 統合 (拡張機能、試験段階)
  • テレメトリ データの収集とオプトアウト: テレメトリ (拡張機能)

組み込み機能

これらの機能はコア プラットフォームの一部であり、追加の NuGet パッケージは必要ありません。

ターミナル出力

ターミナルへの状態と進行状況の報告: 出力モード、ANSI サポート、進行状況インジケーター。

サーバー モード

JSON-RPC を使用して、エディター、IDE、またはその他のツールからテストの検出と実行を行います。

動的拡張機能の読み込み

実行のオプトイン時に、明示的に宣言された拡張機能アセンブリを JSON マニフェストから読み込みます。

拡張機能の特長

これらの機能には、NuGet パッケージをインストールする必要があります。

テスト レポート

テスト レポート ファイル (TRX、HTML、JUnit、CTRF、Azure DevOps、GitHub Actions) を生成します。

コードカバレッジ

テストの実行中にコード カバレッジ データを収集します。

クラッシュ ダンプとハング ダンプ

テスト ホストがクラッシュまたはハングしたときにプロセス ダンプ ファイルを収集します。

OpenTelemetry

テストの実行中に OpenTelemetry を使用してトレースとメトリックを出力します。

AI 統合 (試験段階)

プロバイダーに依存しない AI チャット クライアントを提供して、Azure AI Foundryを通じて、フレームワークと拡張機能をテストします。

再試行

構成可能なポリシーを使用して失敗したテストを再試行します。

ホット リロード

ホット リロードのサポートを使用してテストを実行し、迅速な反復を行います。

Microsoft Fakes

スタブと shim に Microsoft Fakes を使用するテストを実行します。

テレメトリ

テレメトリの収集。 オプトアウトする方法と収集されるデータについて説明します。

診断 (試験段階、MTP 2.3.0 で導入)

ビデオ レコーダーで画面を記録するなど、実行を診断するための証拠をキャプチャします。

テスト ホストのデプロイ (MTP 2.3.0 で導入された試験段階)

パッケージ アプリ テスト ホストの展開や起動など、テスト ホストの展開方法と起動場所を制御します。

Microsoft。拡張機能の統合 (試験段階、MTP 2.3.0 で導入)

Microsoft.Extensions.* パイプラインを介してログを転送するなど、アプリケーションで既に使用されているMicrosoft.Extensions.Logging ライブラリにプラットフォームと拡張機能の診断をブリッジします。