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# テストフレームワークを既に設定している場合は、「機能」セクションに進んでください。
テストを有効にし、テストフレームワークパッケージをプロジェクトに追加する
Solution Explorer でいくつかの手順を実行するだけで、プロジェクトのテストフレームワークを有効にできます。
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 設定を見つけることができます。
