コード カバレッジ拡張機能
この記事では、コード カバレッジ機能に関連するすべての 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 |
出力ファイル形式。 サポートされている値: coverage 、xml 、cobertura 。 既定値は 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"
.NET