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:新しいプロジェクト.. を選択し、次に 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:新しいプロジェクト.. を選択し、次に 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:新しいプロジェクト.. を選択し、次に 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: ビルド を選択します。これにより、プロジェクトがビルドされます。
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 の設定を見つけることができます。