次の方法で共有


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

この記事では、コード カバレッジ機能に関連するすべての 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 コード カバレッジの設定

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

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"