このページでは、dotCover の最新の更新と変更内容を説明します。
無料30日間体験版をご利用可能です
継続的テストのワークフローを次のように改良し、使いやすさを改善しました。
従来は各ユニットテストセッションが継続的テストセッションに変換され、複数のセッションを実行中に混乱が生じる場合がありました。
このリリースでは、単一の独立した継続的テストセッションになりました。 この変更により、テストワークフローをより簡単に管理し、把握できるようになっています。
ReSharper と Rider の dotCover に継続的テスト用の新しいアイコンが追加されました。 このアイコンには、失敗したテストの有無を含む現在のテストの状態が表示されます。 また、継続的テストの有効化または無効化、カバレッジ結果の表示、コードハイライトの切り替えなど、いくつかのクイックアクションも実装されています。
このリリースでは、MAUI フレームワークをベースとするユニットテストとアプリケーションのカバレッジ解析を実行できるようになりました。 現在、dotCover は Windows の .NET 7.0 以上をターゲットとする WinUI デスクトップアプリケーションのみをサポートしています。 これは、dotCover スタンドアロンと ReSharper および Rider の dotCover に適用されます。
Rider と ReSharper の dotCover のコードハイライトが改善されました。新しい背景色と部分的にカバーされたコード行に適用される新しいガターアイコンが導入され、その他の小規模な変更が行われています。
dotCover コマンドラインツールがクロスプラットフォームフレームワーク依存型 .NET ツールとして提供されるようになりました。
このツールは CI/CD シナリオのデフォルトのソリューションとして機能し、以前のソリューションを置き換えます。
ショートカットを適用して、継続的テストを直接トリガーできるようになりました。 以前は、プロジェクトをビルドまたは保存することでのみ間接的にトリガー可能でした。 この機能は ReSharper を組み込んだ Visual Studio と JetBrains Rider の両方で動作します。
dotCover を ARM64 CPU で動作する Windows で使用できるようになりました。 これは、dotCover スタンドアロン、Rider の dotCover、Visual Studio の dotCover、および dotCover コンソールランナーの全バージョンに当てはまります。
dotCover コンソールランナーを ARM32 CPU で動作する Linux で使用できるようになりました。 サポートされているフレームワークは .NET Core 3.1 と .NET 5.0–7.0 です。
コードエディターと Unit Test Coverage(ユニットテストカバレッジ)ウィンドウの dotCover コンテキストメニューに Show Covering Tests(カバーしているテストの表示)アクションを追加しました。 このアクションを実行すると、すべてのカバーしているテストを一か所にまとめたポップアップが表示されます。 このポップアップを使って新しいカバレッジセッションを作成することもできます。
dotCover が Visual Studio と JetBrains Rider で継続的なテストを実行するために必要なアセンブリとシンボルファイルのみをコピーするようになりました。 これによって、作業ディレクトリ全体をコピーする必要がなくなったため、大規模なプロジェクトを中心に dotCover のパフォーマンスが全体的に改善されます。 必要に応じて、dotCover の設定からシャドウコピーファイルのフィルターを調整できます。
従来は Unity テストのカバレッジを解析する場合、カバレッジのサポートを有効にしたまま Unity を再起動する必要がありました。 このリリースからは Unity の再起動が不要となり、テストカバレッジも初期状態でサポートされています。
盾アイコンを使って開いたファイルのカバレッジ結果を素早く表示できるようになりました。 アイコンをクリックすると、未カバーのステートメントに移動できます。
dotCover コマンドラインランナーで Alpine バージョン 3.13 ~ 3.15 がサポートされるようになりました。 次の CPU とフレームワークがサポートされています。
テスト単位のカバレッジ情報を含む、FileCoverageXml
、DetailedFileCoverageXml
、FileCoverageJson
、および DetailedFileCoverageJson
という新しいレポートの種類を追加しています。
新しいレポートには、以下の 3 つのセクションが含まれます。
Files
: カバレッジ対象のソースコードファイルに関する情報が含まれます。 詳細レポートでは、ファイル単位のカバレッジ対象範囲に関する情報も提供されます。 TestLists
: テストセット別に集計されたテストに関する情報が表示されます。 Tests
: 各テストに関する詳細情報が含まれます。 コメントを使用して、コードの特定の行またはブロックをカバレッジ解析から除外できるようになりました。 次のように、除外方法にはいくつかのオプションがあります。
// 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
パッケージを参照する必要があります。 この依存関係は開発時にのみ必要であるため、ランタイム依存関係としてプロジェクトに含まれることはありません。
カバレッジデータの後処理を改善しました。 たとえば、コンソールランナー(IncludePerTest=true
を使用)によるレポート生成にかかる時間が大幅に短縮されています。
dotCover のコマンドラインランナーが Apple Silicon プロセッサを使用するコンピューターで動作するようになりました。 .NET 6 アプリケーション(ネイティブモード)と .NET 5 アプリケーション(Rosetta 2 モード)のカバレッジ解析が可能です。
Rider の dotCover に新しい Code Vision メトリクスが追加されました。 テストセットに含まれる型メンバーごとに、dotCover が成功したテストと失敗したテストの数を表示します。 また、Code Vision の通知を使用して、テストの実行、カバー、およびデバッグを実行することもできます。
dotCover .NET グローバルツールに merge コマンドと report コマンドが含まれるようになりました。
dotCover コマンドラインランナーのパフォーマンスを改善し、カバレッジ解析を高速化しました。
dotCover コンソールランナーは、テストごとのカバレッジ情報を収集し、生成されたレポートにそれを表示することができます。 現時点でサポートされているテストランナーは、dotnet test
、dotnet vstest
、vstest.console.exe
です。 例: dotCover.exe dotnet --output=AppCoverageReport.xml --reportType=XML --IncludePerTestInfo=Method -- test "C:\MyProject\MainTests.csproj"
JetBrains Rider と同様に、ReSharper で Visual Studio のカバレッジフィルターを調整できるようになりました。
所定のコマンド(dotnet tool install --global JetBrains.dotCover.GlobalTools --version 2021.1.0
)を使用して、dotCover コンソールランナーを dotnet
グローバルツールとしてインストールできるようになりました。
このコンソールランナーを使用すると、.NET Core プロジェクトとユニットテストのカバレッジを解析できます。
無料30日間体験版をご利用可能です