Visual Studio Code の単体テスト サポートを確認する

完了

GitHub Copilotを使用して単体テストを生成する前に、プロジェクトには、作業テスト フレームワークと、Visual Studio Code内でテストを実行する方法が必要です。 Visual Studio Code、.NET SDK、C# 開発キット拡張機能は、単体テストをホストする環境を提供しますが、GitHub Copilotはテスト コードの生成と調整に重点を置いています。 基になる環境を理解すると、GitHub Copilotワークフローのフォローがはるかに簡単になります。

このユニットでは、単体テストをサポートするVisual Studio Code機能と C# ツールについて説明します。 以降のユニットでは、GitHub Copilotがこの環境で実行されるテスト コードを生成および維持する方法に重点を置きます。

単体テストのVisual Studio Codeサポート

Visual Studio Codeで C# 単体テストを作成して実行するには、次のリソースが必要です。

  • .NET 8.0 SDK 以降。
  • Visual Studio Code用の C# 開発キット拡張機能。
  • プロジェクトに追加されたテスト フレームワーク パッケージ。

C# 開発キットによる単体テストのサポート

C# Dev Kit 拡張機能には、このモジュール全体で使用するテスト機能が用意されています。

  • テスト エクスプローラー: ワークスペース内のすべてのテスト ケースを表示するツリー ビュー。 アクティビティ バーの beaker アイコンを選択して、テスト エクスプローラーを開くことができます。
  • テスト ケースの実行/デバッグ: 各テスト クラスとメソッドの横に緑色の再生ボタンがエディターに表示されます。 再生ボタンを右クリックすると、その他のオプションが表示されます。
  • テスト結果の表示: テストの実行後、結果はエディターの装飾とテスト エクスプローラーに反映されます。 スタック トレースでリンクを選択すると、ソースの場所に移動します。
  • コマンドのテスト: Test: Run All Tests などのコマンドは、コマンド パレットで使用できます。 Test:を検索して、完全な一覧を表示します。
  • テスト設定: テスト検出とランタイム動作を制御する設定は、設定エディターで使用できます。 Testingを検索して、使用可能なオプションを確認します。

C# 開発キットは、以下のテスト フレームワークをサポートしています。

  • xUnit
  • NUnit
  • MSTest

コマンド パレットを使用してテスト プロジェクトを作成する

Visual Studio Codeのコマンド パレットは、サポートされているフレームワークを使用するテスト プロジェクトを作成する最も簡単な方法を提供します。 コマンド パレットは、以下の方法で開くことができます。

  • Ctrl + Shift + P キー (Windows/Linux) を押します ) または Cmd + Shift + P (macOS)。
  • [表示] メニューを開き、[コマンド パレット] を選択します。
  • ソリューション エクスプローラー ビューを開き、ソリューション フォルダーを右クリックし、New Project を選択します。 このオプションでは、.NET: New Project... コマンドがあらかじめ選択された状態でコマンド パレットが開きます。

次のセクションでは、サポートされている各フレームワークのテスト プロジェクトを作成する方法について説明します。

xUnit

コマンド パレットを開き、.NET: 新しいProject... を選択します。xUnit Test Project を選択し、新しいprojectの名前と場所を指定します。 このコマンドは、xUnit をテスト ライブラリとして使用するプロジェクトを作成し、次の <PackageReference /> 要素をプロジェクト ファイルに追加してテスト ランナーを構成します。

  • Microsoft.NET.Test.Sdk
  • xUnit
  • xunit.runner.visualstudio
  • coverlet.collector

統合ターミナルから、テスト プロジェクトからテスト対象のプロジェクトに参照を追加できます。

dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

NUnit

コマンド パレットを開き、.NET: 新しいProject... を選択します。NUnit3 テスト Project を選択し、新しいprojectの名前と場所を指定します。 このコマンドは、テスト ライブラリとして NUnit を使用するプロジェクトを作成し、次の <PackageReference /> 要素をプロジェクト ファイルに追加します。

  • Microsoft.NET.Test.Sdk
  • NUnit
  • NUnit3TestAdapter

ターミナルからテスト対象のプロジェクトへの参照を追加します。

dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

MSTest

コマンド パレットを開き、.NET: 新しいProject... を選択します。MSTest Test Project を選択し、新しいprojectの名前と場所を指定します。 このコマンドは、次の <PackageReference /> 要素をプロジェクト ファイルに追加します。

  • Microsoft.NET.Test.Sdk
  • MSTest.TestAdapter
  • MSTest.TestFramework
  • coverlet.collector

ターミナルからテスト対象のプロジェクトへの参照を追加します。

dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

Visual Studio Codeでの単体テストの実行と管理

テスト プロジェクトが存在した後、Visual Studio Codeと C# Dev Kit には、テストを実行および管理するためのいくつかの方法が用意されています。

  • エディターから実行/デバッグする: そのターゲットを実行するクラスまたはメソッドの横にある緑色の再生ボタンを選択します。 再生ボタンを右クリックすると、[ テストの実行 ] や [デバッグ テスト] などのオプションが表示されます。
  • テスト エクスプローラー: ツリー ビューから個々のテスト、グループ、または完全なスイートを実行またはデバッグします。 合格/失敗のアイコンや期間を含むテスト結果が各項目の横に表示されます。
  • テスト結果の表示: エディターの装飾とテスト エクスプローラーはどちらも、実行後の各テストの現在の状態を反映します。 スタック トレース内のリンクを選択して、失敗した行にジャンプします。
  • テスト コマンド: コマンド パレットから Test: Run All TestsTest: Debug Failed TestsTest: Show Output などのコマンドを使用します。
  • テスト設定: 設定エディターで Testing を検索して、保存時やテスト結果の書式設定時の自動実行などの動作を構成します。

GitHub Copilotを使用した単体テスト ワークフロー

Visual Studio CodeをGitHub Copilotと組み合わせると、単体テスト プロセスは次の 3 つの段階に分けられます。

  1. 環境を設定する: Visual Studio Code、.NET SDK、C# 開発キットを使用してテスト プロジェクトを作成し、テスト対象のプロジェクトを参照します。 このユニットでは、このステージを完了しました。
  2. Generate テスト コード: チャット ビューでGitHub Copilotを使用して、アプリケーション コードの単体テストを生成します。 次のユニットでは、このステージについて説明します。
  3. テストの実行と保守: テスト エクスプローラーと C# 開発キットを使用してテストを実行し、GitHub Copilotを使用してカバレッジを拡張し、失敗したテストを修正します。

残りのユニットは、ステージ 2 と 3 をサポートするGitHub Copilot ツールに焦点を当てています。