Testing Platform テストのカバレッジを分析する
TUnit など、 Microsoft.Testing.Platform を使用するテストフレームワークは、テストプロセス内でテストを実行します。 カバレッジデータを個々のテストに対応付けるには、dotCover がそのプロセス内で各テストの開始と終了を認識する必要があります。 JetBrains.dotCover.Framework NuGet パッケージは、これらのテスト境界を dotCover に報告します。
カバレッジを分析するすべての Testing Platform テストプロジェクトに、このパッケージを追加してください。
VSTest を使用するテストプロジェクトには、このパッケージは必要ありません。
テストプロジェクトに dotCover パッケージを追加する
テストプロジェクトにパッケージを追加します:
dotnet add package JetBrains.dotCover.Frameworkテストプロジェクトで生成されたエントリポイントを使用している場合、コードの変更は必要ありません。
GenerateTestingPlatformEntryPointMSBuild プロパティをfalseに設定し、独自のMainメソッドを提供する場合は、拡張機能を手動で登録します:JetBrains.dotCover.Framework.TestingPlatformBuilderHook.AddExtensions(testApplicationBuilder, args);ユニットテストのカバレッジ分析を実行 を通常どおり行います。 ユニットテストカバレッジ ウィンドウにテストごとのカバレッジが表示されるようになり、 カバーしているテストに移動 できるようになります。
コマンドラインからカバレッジを分析する
dotCover コマンドラインツール では、Testing Platform テストのテストごとのデータを記録するために --use-api オプションが必要です:
要件
.NET Standard 2.0 と互換性のあるターゲットフレームワーク
Microsoft.Testing.Platform 2.3.0 以降。 拡張機能は、プラットフォーム上に構築されたテストフレームワークがデフォルトで使用する、プラットフォームの MSBuild 統合 を通じて自動的に登録されます。
制限事項
dotCover は、テストごとのデータを正確に保つため、カバレッジ実行中は並列テスト実行を無効化します。 テストフレームワークの並列処理設定を変更する必要はありません。 そのため、カバレッジ実行は、カバレッジ分析を行わない実行よりも時間がかかる場合があります。