dotCoverの新機能

このページでは、dotCoverの最近のバージョンでの更新内容をご案内します。 注目すべき更新には、コードカバレッジのハイライト表示オプションの追加、ユニットテストのフィードバックを大幅に高速化する継続的テスト、Visual Studio / JetBrains Rider と .NET Core のサポートなどが挙げられます。

ダウンロード

無料30日間体験版をご利用可能です

MAUI アプリケーションのサポート

MAUI アプリケーションのサポート 2024.1

このリリースでは、MAUI フレームワークをベースとするユニットテストとアプリケーションのカバレッジ解析を実行できるようになりました。 現在、dotCover は Windows の .NET 7.0 以上をターゲットとする WinUI デスクトップアプリケーションのみをサポートしています。 これは、dotCover スタンドアロンと ReSharper および Rider の dotCover に適用されます。

カバレッジのハイライトの改善

カバレッジのハイライトの改善 2024.1

Rider と ReSharper の dotCover のコードハイライトが改善されました。新しい背景色と部分的にカバーされたコード行に適用される新しいガターアイコンが導入され、その他の小規模な変更が行われています。

コマンドラインツールの改善

コマンドラインツールの改善 2023.3

dotCover コマンドラインツールがクロスプラットフォームフレームワーク依存型 .NET ツールとして提供されるようになりました。

このツールは CI/CD シナリオのデフォルトのソリューションとして機能し、以前のソリューションを置き換えます。

継続的テストのショートカット 2023.1

ショートカットを適用して、継続的テストを直接トリガーできるようになりました。 以前は、プロジェクトをビルドまたは保存することでのみ間接的にトリガー可能でした。 この機能は ReSharper を組み込んだ Visual Studio と JetBrains Rider の両方で動作します。

Windows ARM64 のサポート 2022.3

dotCover を ARM64 CPU で動作する Windows で使用できるようになりました。 これは、dotCover スタンドアロン、Rider の dotCover、Visual Studio の dotCover、および dotCover コンソールランナーの全バージョンに当てはまります。

Linux ARM32 のサポート 2022.3

dotCover コンソールランナーを ARM32 CPU で動作する Linux で使用できるようになりました。 サポートされているフレームワークは .NET Core 3.1 と .NET 5.0–7.0 です。

JetBrains Rider のテストへの移動操作を改善

JetBrains Rider のテストへの移動操作を改善 2022.3

コードエディターと Unit Test Coverage(ユニットテストカバレッジ)ウィンドウの dotCover コンテキストメニューに Show Covering Tests(カバーしているテストの表示)アクションを追加しました。 このアクションを実行すると、すべてのカバーしているテストを一か所にまとめたポップアップが表示されます。 このポップアップを使って新しいカバレッジセッションを作成することもできます。

シャドウコピーの高速化 2022.3

dotCover が Visual Studio と JetBrains Rider で継続的なテストを実行するために必要なアセンブリとシンボルファイルのみをコピーするようになりました。 これによって、作業ディレクトリ全体をコピーする必要がなくなったため、大規模なプロジェクトを中心に dotCover のパフォーマンスが全体的に改善されます。 必要に応じて、dotCover の設定からシャドウコピーファイルのフィルターを調整できます。

JetBrains Rider の Unity サポートを改善 2022.3

従来は Unity テストのカバレッジを解析する場合、カバレッジのサポートを有効にしたまま Unity を再起動する必要がありました。 このリリースからは Unity の再起動が不要となり、テストカバレッジも初期状態でサポートされています。

JetBrains Rider のカバレッジ結果のクイックビュー

JetBrains Rider のカバレッジ結果のクイックビュー 2022.2

盾アイコンを使って開いたファイルのカバレッジ結果を素早く表示できるようになりました。 アイコンをクリックすると、未カバーのステートメントに移動できます。

musl ベース Linux ディストリビューションのサポート 2022.1

dotCover コマンドラインランナーで Alpine バージョン 3.13 ~ 3.15 がサポートされるようになりました。 次の CPU とフレームワークがサポートされています。

  • x64: .NET Core 3.1、.NET 5.0 ~ 6.0
  • arm64: .NET 5.0 ~ 6.0

新しいカバレッジレポートの種類 2022.1

テスト単位のカバレッジ情報を含む、FileCoverageXmlDetailedFileCoverageXmlFileCoverageJson、および DetailedFileCoverageJson という新しいレポートの種類を追加しています。

新しいレポートには、以下の 3 つのセクションが含まれます。

  • Files: カバレッジ対象のソースコードファイルに関する情報が含まれます。 詳細レポートでは、ファイル単位のカバレッジ対象範囲に関する情報も提供されます。
  • TestLists: テストセット別に集計されたテストに関する情報が表示されます。
  • Tests: 各テストに関する詳細情報が含まれます。
コメントによるカバレッジ解析からのコードの除外

コメントによるカバレッジ解析からのコードの除外 2022.1

コメントを使用して、コードの特定の行またはブロックをカバレッジ解析から除外できるようになりました。 次のように、除外方法にはいくつかのオプションがあります。

// dotcover disable
var i = 1;
var j = 10;
// dotcover enable

/* dotcover disable */ var i = 1; /* dotcover enable */

var i = 1; // dotCover disable this line

// dotcover disable next line
var j = 100;

これらのオプションが機能するには、JetBrains.dotCover.MSBuild NuGet パッケージを参照する必要があります。 この依存関係は開発時にのみ必要であるため、ランタイム依存関係としてプロジェクトに含まれることはありません。

パフォーマンスの改善 2022.1

カバレッジデータの後処理を改善しました。 たとえば、コンソールランナー(IncludePerTest=true を使用)によるレポート生成にかかる時間が大幅に短縮されています。

Apple Silicon プロセッサのサポート  2021.3

dotCover のコマンドラインランナーが Apple Silicon プロセッサを使用するコンピューターで動作するようになりました。 .NET 6 アプリケーション(ネイティブモード)と .NET 5 アプリケーション(Rosetta 2 モード)のカバレッジ解析が可能です。

コードカバレッジの Code Vision メトリクス

コードカバレッジの Code Vision メトリクス 2021.3

Rider の dotCover に新しい Code Vision メトリクスが追加されました。 テストセットに含まれる型メンバーごとに、dotCover が成功したテストと失敗したテストの数を表示します。 また、Code Vision の通知を使用して、テストの実行、カバー、およびデバッグを実行することもできます。

dotCover .NET グローバルツールの改善 2021.3

dotCover .NET グローバルツールmerge コマンドと report コマンドが含まれるようになりました。

パフォーマンスの改善 2021.3

dotCover コマンドラインランナーのパフォーマンスを改善し、カバレッジ解析を高速化しました。

コンソールランナーにおけるテストごとのカバレッジ情報

コンソールランナーにおけるテストごとのカバレッジ情報 2021.2

dotCover コンソールランナーは、テストごとのカバレッジ情報を収集し、生成されたレポートにそれを表示することができます。 現時点でサポートされているテストランナーは、dotnet testdotnet vstestvstest.console.exe です。 例: dotCover.exe dotnet --output=AppCoverageReport.xml --reportType=XML --IncludePerTestInfo=Method -- test "C:\MyProject\MainTests.csproj"

カバレッジパフォーマンスの改善

カバレッジパフォーマンスの改善 2021.2

  • dotCover はテストクラスのカバレッジ分析を 1 つのアセンブリ内で並行して実行できるようになりました。 特定のシナリオにおいては、カバレッジ分析がさらに高速に行われるようになります。
  • .NET Core および .NET プロジェクトのユニットテストランナーをプリロードできるようになりました(ユニットテストランナーがメモリ内に読み込まれた状態になっているため、カバレッジ分析をより迅速に開始できるようになります)。
C# 8 と C# 9 サポートの更新

C# と Unity サポートの更新 2021.2

  • カバレッジツリーでの C# 8.0 と C# 9.0 のサポートを改善しました(デフォルトのインターフェース実装の表示など)。
  • dotCover はカバレッジフィルタに変更があった場合に、Unity Editor の再起動をプロンプトするようになりました。
ReSharper のフィルタリング設定を更新

ReSharper のフィルタリング設定を更新 2021.1

JetBrains Rider と同様に、ReSharper で Visual Studio のカバレッジフィルターを調整できるようになりました。

dotCover コンソールランナーを .NET グローバルとして使用

dotCover コンソールランナーを .NET グローバルとして使用 2021.1

所定のコマンド(dotnet tool install --global JetBrains.dotCover.GlobalTools --version 2021.1.0)を使用して、dotCover コンソールランナーを dotnet グローバルツールとしてインストールできるようになりました。

このコンソールランナーを使用すると、.NET Core プロジェクトとユニットテストのカバレッジを解析できます。

ダウンロード

無料30日間体験版をご利用可能です