この記事では、コード カバレッジ機能に関連するすべての 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 コード カバレッジの設定。 |
使用可能なオプションの詳細については、設定とサンプルを参照してください。
注
Microsoft.Testing.Extensions.CodeCoverage の IncludeTestAssembly
の既定値は false
されていますが、VSTest では true
。 つまり、テスト プロジェクトは既定で除外されます。 詳細については、「 コード カバレッジの構成」を参照してください。
掛け布団
重要
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