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 設定が見つかります。