次の方法で共有


コード カバレッジ拡張機能

この記事では、コード カバレッジ機能に関連するすべての Microsoft Testing Platform 拡張機能を挙げて説明します。

コード カバレッジ機能を使用すると、単体テストなどのコード化されたテストによってテストされているプロジェクトのコードの割合を調べることができます。 バグから効果的に保護するには、コードの大部分をカバーするようにテストを実行する必要があります。

Microsoft コード カバレッジ

Microsoft コード カバレッジ分析は、マネージド (CLR) コード とアンマネージド (ネイティブ) コードの両方で実行できます。 静的と動的の両方のインストルメンテーションがサポートされています。 この拡張機能は、Microsoft.Testing.Extensions.CodeCoverage NuGet パッケージの一部として提供されています。

メモ

拡張機能では、アンマネージ (ネイティブ) コード カバレッジが既定で無効になっています。 必要に応じて、EnableStaticNativeInstrumentation および EnableDynamicNativeInstrumentation フラグを使用して有効にしてください。 アンマネージド コード カバレッジの詳細については、「静的および動的ネイティブ インストルメンテーション」を参照してください。

重要

このパッケージは、Microsoft .NET ライブラリのクローズドソースで無料使用可能なライセンシングモデルを備えています。

Microsoft コード カバレッジの詳細については、GitHub のページを参照してください。

Microsoft Code Coverage には、以下のオプションがあります。

回答内容 説明
--coverage dotnet-coverage ツールを使用してコード カバレッジを収集します。
--coverage-output 生成されたカバレッジ ファイルの名前またはパス。 既定では、ファイルは TestResults/<guid>.coverageです。
--coverage-output-format 出力ファイル形式。 サポートされている値: coveragexmlcobertura。 既定値は coverage です。
--coverage-settings XML コード カバレッジの設定

使用可能なオプションの詳細については、設定サンプルを参照してください。

Coverlet

重要

coverlet.collector NuGet パッケージは VSTest 専用に設計されており、Microsoft.Testing.Platformでは使用できません。

現在、Coverlet の拡張機能はありませんが、Coverlet .NET グローバル ツールを使用できます。

Coverlet グローバル ツールを既にインストールしてある場合は、次のコマンドを実行できます。

coverlet .\bin\Debug\net8.0\TestProject2.dll --target "dotnet" --targetargs "test .\bin\Debug\net8.0\TestProject2.dll --no-build"