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 Code Coverage API を介してコードカバレッジをサポートするようになりました。この機能を使用すると、テスト中に実行されるコード行と実行されないコード行を示すことで、テストの有効性を測定できます。
コードカバレッジは、自動化されたテストによって実行されるコードベースのパーセンテージを追跡するメトリクスです。これにより、テストされていないコードセクションを特定し、包括的なカバレッジを確保することでテストの品質を向上させます。
注: コードカバレッジを有効にするには、最新バージョンの C# Dev Kit がインストールされていることを確認してください。
コードカバレッジでテストを実行するには、次の手順に従います。
-
- アクティビティバーからテストエクスプローラーを開きます。
-
- カバレッジ付きでテストを選択して実行: 実行するテストを選択し、カバレッジ付きで実行します。
-
- カバレッジデータの表示: コードカバレッジデータは自動的に生成され、テストエクスプローラーのテスト結果とともに表示されます。
カバレッジレポートを生成し、VS Code で結果を表示したい場合
-
- コマンドパレットを使用する: コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) を開き、「Test: Show Coverage」を検索してカバレッジデータにアクセスします。
-
- エディターで強調表示されたコードカバレッジを表示する
- 緑色の線: テスト済みのコードを示します。
- 赤色の線: テストされていないコードを示します。
-
- テストエクスプローラーの概要: テストエクスプローラーは、全体的なカバレッジの概要を提供し、追加のテストが必要な特定のファイルまたはメソッドを調べることができます。
コードのテストカバレッジを向上させるには
- カバレッジレポート (テストエクスプローラーまたはエディター内) を調べて、赤色でマークされた領域 (テストされていないコードを示す) を特定します。
- レポートで強調表示されたテストされていない領域をカバーするために、新しいテストを作成します。
- テストを再実行し、更新されたカバレッジを確認して、コードが十分にテストされていることを確認します。
テスト結果の表示
テストケースを実行/デバッグした後、関連するテスト項目の状態は、エディターの装飾とテストエクスプローラーの両方で更新されます。
スタックトレースのリンクを選択して、ソースの場所に移動できます。
VS Code テストコマンド
コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) で「Test:」を検索すると、テストコマンド (たとえば、[すべてのテストを実行]) が見つかります。
VS Code テスト設定
設定エディター (⌘, (Windows, Linux Ctrl+,)) で「Testing」を検索すると、テストに固有の VS Code 設定が見つかります。