C# Dev Kit でのテスト
Visual Studio Code での C# のテストは、C# Dev Kit 拡張機能によって有効になります。これは、C# の開発体験を向上させるための軽量な拡張機能です。
概要
この拡張機能は、以下のテストフレームワークをサポートしています
C# Dev Kit 拡張機能は、以下の機能を提供します
- テストケースの実行/デバッグ
- テストレポートの表示
- テスト エクスプローラーでのテストの表示
要件
- .NET 6.0 SDK 以降
- Visual Studio Code (バージョン 1.58.0 以降)
- C# Dev Kit
プロジェクトのセットアップ
注: すでにプロジェクトで C# テストフレームワークをセットアップ済みの場合は、「機能」セクションまでスキップしてください。
テストの有効化とテストフレームワークパッケージのプロジェクトへの追加
ソリューションエクスプローラーでいくつかの手順を行うだけで、プロジェクトのテストフレームワークを有効にできます
xUnit
コマンドパレットを開き、.NET: New Project.. を選択してから、xUnit Test 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: New Project.. を選択してから、NUnit3 Test 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: New Project.. を選択してから、MSTest Test Project を選択し、新しいプロジェクトの名前と場所を指定します。これにより、MSTest をテストライブラリとして使用する新しいプロジェクトとディレクトリが作成され、プロジェクトファイルに以下の <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]
機能
テストケースの実行/デバッグ
テストケースを作成したら、テストプロジェクトをビルドしてテストとして認識させる必要があります。コマンドパレットを開き、.NET: Build を選択します。これによりプロジェクトがビルドされます。
C# Dev Kit は、クラスおよびメソッド定義の左側にショートカット(緑色の再生ボタン)を生成します。対象のテストケースを実行するには、緑色の再生ボタンを選択します。右クリックしてその他のオプションを表示することもできます。
テスト エクスプローラー
テストエクスプローラーは、ワークスペース内のすべてのテストケースを表示するツリービューです。Visual Studio Code の左側にあるアクティビティバーのフラスコのアイコンを選択して開くことができます。そこからテストケースの実行/デバッグを行い、テスト結果を確認することもできます。プロジェクトをまだビルドしていない場合は、テストの更新ボタンを選択してビルドを実行し、すべてのテストを検出してください。
C# Dev Kit でのコードカバレッジ
C# Dev Kit は、VS Code コードカバレッジ API を介したコードカバレッジをサポートするようになりました。この機能により、テスト中に実行されたコード行と実行されなかったコード行を表示することで、テストの有効性を測定できます。
コードカバレッジは、自動テストによって実行されたコードベースの割合を追跡するメトリックです。これにより、テストされていないコードセクションを特定し、包括的なカバレッジを確保することでテストの品質を向上させることができます。
注: コードカバレッジを有効にするには、最新バージョンの C# Dev Kit がインストールされていることを確認してください。
コードカバレッジを使用してテストを実行するには、以下の手順に従います
-
- アクティビティバーからテストエクスプローラーを開きます。
-
- カバレッジ付きでのテストの選択と実行: 実行したいテストを選択し、カバレッジ付きで実行します。
-
- カバレッジデータの表示: コードカバレッジデータが自動的に生成され、テストエクスプローラー内のテスト結果とともに表示されます。
カバレッジレポートを生成済みで、その結果を VS Code で表示したい場合
-
- コマンドパレットを使用: コマンドパレットを開き(⇧⌘P (Windows, Linux Ctrl+Shift+P))、"Test: Show Coverage" を検索してカバレッジデータにアクセスします。
-
- エディターで強調表示されたコードカバレッジを確認する
- 緑色の行: テスト済みのコードを示します。
- 赤色の行: 未テストのコードを示します。
-
- テストエクスプローラーの概要: テストエクスプローラーは全体的なカバレッジの概要を提供し、追加のテストが必要な特定のファイルやメソッドを調査できるようにします。
コードのテストカバレッジを向上させるために
- (テストエクスプローラーまたはエディターの)カバレッジレポートを調査し、赤色でマークされた未テストのコード領域を特定します。
- レポートで強調表示された未テスト領域をカバーするための新しいテストを作成します。
- テストを再実行し、更新されたカバレッジを確認して、コードが十分にテストされていることを確認します。
テスト結果の表示
テストケースの実行/デバッグ後、関連するテスト項目の状態がエディターの装飾とテストエクスプローラーの両方で更新されます。

スタックトレース内のリンクを選択して、ソースコードの場所に移動できます。
VS Code のテストコマンド
コマンドパレット(⇧⌘P (Windows, Linux Ctrl+Shift+P))で Test: を検索すると、テストに関連するコマンド(Run All Tests など)が見つかります。

VS Code のテスト設定
設定エディター(⌘, (Windows, Linux Ctrl+,))で Testing を検索すると、テストに固有の VS Code 設定が見つかります。
