dotCover の新機能
dotCover 2024.2
マイナーな安定性の改善とバグ修正。
dotCover 2024.1
これで、MAUI フレームワークに基づく単体テストとアプリケーションのカバレッジ分析を実行できるようになりました。現在、dotCover は Windows 上の .NET 7.0+ をターゲットとする WinUI デスクトップアプリケーションのみをサポートしています。これは、dotCover スタンドアロンと、ReSharper および Rider の dotCover に適用されます。
カバレッジのハイライトの改善
Rider および ReSharper の dotCover では、コードのハイライトが改善され、新しい背景色、部分的にカバーされたコード行用の新しいガターアイコン、およびその他の小さな変更が追加されました。
dotCover 2023.3
改善されたコマンドラインツール
dotCover コマンドラインツールは、クロスプラットフォームのフレームワークに依存する .NET ツールとして提供されるようになりました: https://www.nuget.org/packages/JetBrains.dotCover.CommandLineTools/2023.3.0(英語)
このツールは、CI/CD シナリオのデフォルトのソリューションとして機能し、以前の https://www.nuget.org/packages/JetBrains.dotCover.GlobalTool(英語) を置き換えます。
dotCover 2023.2
バグ修正と安定性の改善。
dotCover 2023.1
ショートカットを適用することで、継続的テストを直接トリガーできるようになりました。以前は、プロジェクトをビルドまたは保存することによって間接的にしかこれを行うことができませんでした。この機能は、Visual Studio と ReSharper および JetBrains Rider の両方で機能します。
dotCover 2022.3
.NET 7 のサポート
dotCover では、Windows、macOS、Linux 上の .NET 7 アプリケーションでカバレッジ分析を実行できるようになりました。
改善された ARM CPU サポート
Linux arm32 – Linux 上の arm32 CPU で dotCover コンソールランナーを実行できるようになりました。サポートされているフレームワーク: .NET Core 3.1、.NET 5.0-7.0。
Windows arm64 – Windows の arm64 CPU で dotCover を使用できるようになりました。これは、すべてのバージョンに適用されます: dotCover スタンドアロン、Rider の dotCover、Visual Studio の dotCover、および dotCover コンソールランナー。
JetBrains Rider の dotCover での Unity サポートの改善
以前は、Unity テストのカバレッジを分析するには、カバレッジサポートを有効にして Unity を再起動する必要がありました。このリリースから、Unity を再起動する必要がなくなり、テストカバレッジがすぐにサポートされます。
さまざまな改善
JetBrains Rider でのテストへのより簡単なナビゲーション: コードエディターとユニットテストカバレッジウィンドウの dotCover コンテキストメニューにカバーテストを表示するアクションを追加しました。アクションは、カバーするすべてのテストが適切な場所にあるポップアップを表示します。ポップアップでは、新しいカバレッジセッションを作成することもできます。
Visual Studio と JetBrains Rider の両方でのシャドウコピーの高速化: 現在、dotCover は、継続的なテストに必要なアセンブリとシンボルファイルのみをコピーします。これにより、dotCover が作業ディレクトリ全体をコピーする必要がなくなるため、特に大規模なプロジェクトで全体的なパフォーマンスが向上します。必要に応じて、dotCover 設定でシャドウコピーファイルフィルターを調整できます。
dotCover 2022.2
JetBrains Rider のカバレッジ結果のクイックビュー
現在開いているファイルのカバレッジ結果を、「シールド」アイコンですばやく表示できるようになりました。アイコンをクリックすると、カバーされていないステートメント間を移動します。
dotCover 2022.1
コメントを使用して、カバレッジ分析から特定の行またはコードブロックを除外できるようになりました。
テストごとのカバレッジ情報を含む新しいレポートタイプ(FileCoverageXml、DetailedFileCoverageXml、FileCoverageJson、DetailedFileCoverageJson)を追加します。
新しいレポートには、次の 3 つのセクションが含まれます。
Files
対象となるソースコードファイルに関する情報が含まれています。詳細なレポートには、ファイルごとの対象範囲に関する情報も含まれています。TestLists
は、テストセットごとに集計されたテストに関する情報を提供します。Tests
には、各テストに関する詳細情報が含まれています。
パフォーマンスの向上
カバレッジデータの後処理を改善しました。例: コンソールランナー(
IncludePerTest=true
を使用)は、レポートの生成にかかる時間が大幅に短縮されます。
dotCover 2021.3
.NET6 のサポート
dotCover を使用すると、.NET6 を対象とするアプリケーションのカバレッジ分析を実行できます。
AppleM1 のサポート
これで、dotCover コマンドラインランナーは、AppleM1 プロセッサーを搭載したコンピューターで動作できるようになりました。このツールは、.NET 6 アプリケーション(ネイティブモード)および .NET 5 アプリケーション(Rosetta 2 モード)のカバレッジ分析をサポートします。
コードカバレッジのコードビジョンメトリクス
Rider の dotCover は、新しいコードビジョンメトリクスを追加します。テストの対象となるタイプメンバーごとに、dotCover は成功したテストと失敗したテストの数を示します。コードビジョン通知を使用して、テストを実行、カバー、デバッグすることもできます。
改善された dotCover.NET グローバルツール
dotCover .NET グローバルツールは、
merge
およびreport
コマンドのサポートを取得します。パフォーマンスの向上
dotCover コマンドラインランナーのパフォーマンスが向上し、カバレッジ分析が高速化されました。
dotCover 2021.2
dotCover コンソールランナーは、個々のテストのカバレッジ情報を収集し、生成されたレポートに表示することができます。現在、次のテストランナーのみがサポートされています:
dotnet test
、dotnet vstest
、vstest.console.exe
例:dotCover.exe dotnet --output=AppCoverageReport.xml --reportType=XML --IncludePerTestInfo=Method -- test "C:\MyProject\MainTests.csproj"
現在、dotCover は、1 つのアセンブリ内でテストクラスのカバレッジ分析を並行して実行できます。特定のケースでは、これによりカバレッジ分析が高速化される場合があります。この機能は、dotCover 設定のテストクラスを並行して実行するチェックボックスを使用して有効にできます。
ユニットテストランナーのプリロードが .NETCore および .NET プロジェクトで利用できるようになりました(これにより、ユニットテストランナーがすでにメモリにロードされているため、カバレッジ分析をより速く開始できます)。この機能は、dotCover 設定のテストランナーをプリロードしますチェックボックスを使用して有効にできます。
さまざまな改善
カバレッジツリーでの C# 8.0 および C# 9.0 のサポートの改善(デフォルトのインターフェース実装などを表示)。
現在、dotCover は、カバレッジフィルターが変更された場合に Unity エディターを再起動することを提案しています。
さまざまなバグ修正。
dotCover 2021.1
これで、Rider と同じ方法で Visual Studio のカバレッジフィルターを構成できます。
.NET グローバルツールとしての dotCover コンソールランナー
これで、dotCover コンソールランナーを dotnet グローバルツールとしてインストールできます。
dotnet tool install --global JetBrains.dotCover.GlobalTools --version 2021.1.0
これを使用して、.NETCore プロジェクトと単体テストのカバレッジを分析します。カバレッジ構成ウィンドウの UI が改善されました。
新しい UI を使用すると、カバレッジ分析セッションの構成と実行が簡単になります。
dotCover 2020.3
.NET5 のサポート
dotCover を使用すると、.NET5 を対象とするアプリケーションのカバレッジ分析を実行できます。
継続的テストの改善。
これで、継続的テストセッションがトリガーされたときに、どのプロジェクトを構築する必要があるかを調整できます。これにより、継続的なテストセッションをスピードアップできます。この機能は、Visual Studio と Rider の両方で機能します。
複数のフレームワークを対象とするプロジェクトのサポートが改善されました。
現在、Visual Studio と Rider の両方のユニットテストカバレッジウィンドウでは、ターゲットフレームワークでカバレッジ結果をフィルタリングできます。
カバレッジ情報が古くなっているメソッドは、カバレッジツリーに表示されます。
2020.3 より前は、カバレッジ情報が古くなったメソッドは、ガター内のマーカーでのみハイライトされていました。現在、Visual Studio では、カバレッジ情報が古くなっているメソッドも単体テストのカバレッジウィンドウでハイライトされます。
ソリューションのハイライトレベルオプションのコードカバレッジ。
これで、Rider のソリューションハイライトレベルオプションを使用して、コードカバレッジハイライトのオンとオフを切り替えることができます。
dotCover 2020.2
Rider の単体テストのカバレッジウィンドウの改善:
このウィンドウからカバレッジレポートをエクスポートできます。
このウィンドウでクイック検索を実行できます。
コード内のシンボルからカバレッジツリー内のこのシンボルに移動できます。
--reportype=SummaryXml
パラメーターを使用すると、合計でカバーされるクラス、メソッド、ステートメントの数に関するデータを含む新しいサマリーレポート型を作成できます。これで、ランナーは複数のタイプのレポートを一度に生成できます:
--reporttype=HTML,SummaryXml --output=report.html;summary.xml
Linux のランナー(GLIBC_2.23 以降のディストリビューション)は、ARM64 システムで分析を実行できるようになりました。
dotCover 2020.1
これで、JetBrains Rider でランタイムフィルターとカバレッジ結果フィルターの両方を適用できます。
コマンドラインからのソースコードファイルへのアクセス
コンソールランナーでは、すべてのカバレッジコマンドは、
--SourcesSearchPaths
と--AllowSourceServersAccess
の 2 つの追加パラメーターを取得します。ソースコードへのカスタムパスを指定し、それに応じてソースサーバーからソースコードをダウンロードできます。
dotCover 2019.3
Windows、macOS、Linux での Unity のサポート。
JetBrains Rider の dotCover は、Unity プロジェクトのテストのカバレッジ分析をサポートします。
Microsoft 偽物のサポート
dotCover は、MicrosoftFakes を使用してテストの対象範囲を分析できます。Microsoft Fakes は、Visual Studio(2017 以降)の dotCover だけでなく、dotCover コマンドラインツールでもサポートされていることに注意してください。後者の場合、
vstest.console.exe
(Visual Studio 2017 以降)を使用してテストを実行する必要があります。dotCover は、Rider、Visual Studio、および dotCover コンソールツールによって生成されたレポートのネストされた名前空間によってカバレッジ結果をグループ化できます。
dotCover 2019.2
Windows、macOS、Linux での Mono のサポート。
dotCover 2019.2 は、Windows、macOS、Linux で Mono 5.10 以降をサポートします。これらのオペレーティングシステムでカバレッジ分析を実行するには、JetBrains Rider または dotCover コンソールランナーを使用する必要があります。macOS および Linux では、64 ビットプロセスのみがサポートされていることに注意してください。
Linux および macOS のコンソールランナー。
これで、dotCover コンソールランナーを Windows だけでなく、macOS および Linux でも使用できるようになりました。新しいプラットフォームでより便利にするために、ツールは Unix スタイルの構文でコマンド引数を受け入れます。例: 現在、
/TargetExecutable=MyApp.exe
と--targetexecutable:MyApp.exe
の両方が有効です。コンソールランナーの改善。
コンソールランナーは、.NET Core および Mono アプリケーションのカバレッジ分析と単体テストを簡素化する 2 つの新しいコマンド、
cover-dotnet
とcover-mono
を取得します。問題カバレッジ 0% および .NET Core 単体テスト(英語)が修正されました。dotnet dotCover テストの回避策は不要になりましたが、カバレッジ分析を実行するこの方法がより便利である場合は、引き続き使用できます。
dotCover 2019.1
macOS と Linux での .NET Core ユニットテストのサポート。これらのオペレーティングシステムでコードカバレッジ分析を実行するには、JetBrains Rider を使用する必要があります。
Visual Studio からのリモートカバレッジは使用できなくなりました。この機能は dotCover から削除されます。
dotCover 2018.3
改善されたカバレッジフィルター。dotCover オプションには、ランタイムフィルター(カバレッジセッション中に適用されるフィルター)と結果フィルター(カバレッジ結果に適用されるフィルター)の 2 つのフィルターグループがあります。後者は、ファイル名によるフィルターで拡張されます。
複数のターゲットフレームワークのサポート。プロジェクトが複数のフレームワークをターゲットにしている場合、カバレッジツリーは各フレームワークに対して別々に結果を表示します(各フレームワークはツリー内の別々のノードとして表示されます)。コードのハイライトは、エディターで選択されているコンテキストによっても異なります。
dotCover 2018.2
JetBrains Rider 統合。Visual Studio に加えて、dotCover は JetBrains Rider IDE の一部になりました。このリリースでは、単体テストのコードカバレッジ分析と継続的テストの 2 つの主要な機能がサポートされています。
dotnet
コンソールツールのサポート。現在、dotCover コマンドラインランナーは、.NET コマンドラインツール(dotnet.exe)の拡張機能として使用できます。例:dotnet dotCover test
を実行すると、単体テストのカバレッジ分析を実行できます。dotCover.exe コンソールランナーを使用する場合は、
analyze
コマンドよりも常にcover
コマンドを優先するべきです。カバレッジ結果は、--ReportType
引数にのみ依存します。指定されている場合は、特定の型のレポートを取得します。そうでない場合は、通常のカバレッジスナップショットが保存されます。
dotCover 2018.1
個別の継続テストセッションは不要 - 継続テストモードは、どの単体テストセッションでもオンにできます。
新しい継続的なテストの自動開始モード。
カバレッジ情報は、セッションごとのカバレッジタブではなく、別のユニットテストカバレッジウィンドウに表示されるようになりました。1 つの場所ですべての単体テストセッションの集計されたカバレッジデータを参照してください。
dotCover コンソールランナーは、任意の管理対象プロセスおよびサービス
analyze-everything
、analyze-service
をカバーし、コンソールツールの実行中のインスタンスに get Coveragesnapshot コマンドを送信する機能を取得します。これにより、IIS/IIS Express で実行されている Web アプリケーションの適用範囲を取得するが劇的に緩和されます。
dotCover 2017.3
.NET Core は、NUnit および xUnit の連続テストモードでカバレッジをテストします。
カバレッジ結果の迅速な評価 .Visual Studio エディターのガターにある「シールド」アイコンを使用すると、合計カバレッジ率と失敗したテストの数をすばやく表示できます。アイコンをクリックすると、カバーされていないステートメント間を移動します。
改善された「カバーステートメントの表示」。これで、エディターでカバーテストを表示するを使用した後、ポップアップウィンドウに、コードの正確な部分がクラス、メソッド、特定のステートメントのどれであるかがわかります。
dotCover 2017.2
.NET Core は MSTest のカバレッジサポートをテストします。
パフォーマンスの改善。2017.2 が登場する前は、大規模なソリューションで継続的テストを行うことは大きな頭痛の種(英語)でした。テストは非常に高速に実行されましたが、後続のカバレッジセッションが終了するまでに数分かかる場合がありました。この問題は dotCover 2017.2 には存在しません。新しいスナップショット形式により、dotCover はカバレッジ結果の処理を大幅に高速化します。
カバレッジ結果は、特定のテストだけでなく、テストグループ、プロジェクト、カテゴリなどに対しても表示されるようになりました。
色盲マーカー。現在、マーカーは、色だけでなくその形状でもカバレッジとテスト結果を示すことができます。
スナップショットからカバレッジデータを追加します。特定のユニットテストセッションのカバレッジ結果を表示するときに、スナップショットからのカバレッジデータとマージできるようになりました。
dotCover 2017.1
色付きの背景を使用してハイライトします。新しいハイライトスタイル(マーカーを使用)は、すべてのユースケースに適していない可能性があるため、マーカーと色付き背景を切り替えたり、両方を表示するオプションを追加しました。古いハイライトスタイルは、更新されたロジックをサポートし、テストカバレッジとテスト結果の両方を表示します。
dotCover 2016.3
新しいコードカバレッジのハイライト。テスト結果はコードエディターで直接見ることができます。
カバレッジ分析に関係のない子プロセスを除外することにより、コンソールランナーからプロセスをフィルタリングして不要なオーバーヘッドを削減する機能。
失敗したテストのより便利なデバッグ。ブレークポイントを設定してデバッグを実行できます。
dotCover 2016.2
Unit Test Sessions ウィンドウと連続テストセッションウィンドウの実行ログ。
自動プロパティを非表示にするオプションによるカバレッジ解析から自動プロパティを除外する機能
カバレッジ分析に関係のない子プロセスを除外することにより、コンソールランナーからプロセスをフィルタリングして不要なオーバーヘッドを削減する機能。
dotCover 2016.1
カバレッジフィルターは継続的なテストでサポートされています。
関連ページ:
MAUI アプリケーション
MAUI アプリケーションは、.NET マルチプラットフォームアプリ UI (MAUI) フレームワークを使用して構築されたクロスプラットフォームソリューションであり、開発者が単一の共有コードベースを使用して Android、iOS、Windows、macOS 用のアプリケーションを作成できるように設計されています。現在、dotCover は以下をサポートしています。Windows – .NET 7.0 以降をターゲットとする WinUI アプリケーション。dotCover を使用すると、PDB...
継続的なテスト
継続的なテストは、さまざまな方法でテスト駆動開発のプラクティスを合理化します。ユニットテストに影響を与える変更を検出し、影響を受けたすべてのプロジェクトを再構築し、新しいテストと古いテストをすべて再実行します。すべてがバックグラウンドで自動的に行われます。影響を受けるプロジェクトのみが再構築されます。新しいテストと旧式のテストのみが再実行されます。ユニットテストセッションは、ユニットテストセッションウィンドウで連続テストモードのいずれかに切り替えることができます。連続テストを無効にするには、モー...
カバレッジ結果を処理する
実行するカバレッジ分析のタイプ、ユニットテストのカバレッジ、アプリケーションのカバレッジに関係なく、dotCover はカバレッジ結果をカバレッジスナップショットに保存します。その後、エディターと単体テストカバレッジウィンドウを使用して、これらの結果をさらに調査できます。エディターでコードカバレッジを視覚化する:カバレッジセッションが完了すると、Rider は単体テストカバレッジウィンドウを開きます。ウィンドウのツールバーでハイライトコードをクリックします。dotCover は、現在のカバレッ...
カバレッジフィルターを設定する
場合によっては、カバレッジ分析の範囲を制限する必要があります。例: 複数のプロジェクトと何千ものテストを含む大スコープなアプリケーションの開発に参加する場合、これは理にかなっています。この場合、ソリューション内のすべてのプロジェクト (型、型メンバー) のカバレッジを分析する必要はなく、作業中のコードに関連するものだけを分析する必要があります。もう 1 つの例は、現在関心のないノード (名前空間、クラス、メソッド) を除外して、カバレッジツリーの「ノイズを減らす」ことです。このような場合は常に、...
一般
このページには、コードカバレッジの一般的な設定がまとめられています。NGen ネイティブイメージを使用する選択した場合、.NET フレームワークランタイムは、カバレッジ分析中にアプリケーションのネイティブイメージをロードできます。これにより、分析が高速化される可能性があります。対象範囲内のアプリケーションの実行速度が速くなります。場合によっては、NGen イメージを使用できない場合があることに注意してください。これにより、アプリのカバレッジを取得する場合はアプリケーションの例外が発生し、単体テス...
カバレッジ設定ダイアログ
このダイアログでは、外部アプリケーションのカバレッジ実行を開始するときに、実行構成を選択し、関連する設定を構成できます。このウィンドウには、次のコントロールが含まれています。追加クリックして、新しい実行構成を作成します。実行構成は、分析するアプリケーションを dotCover がどのように実行するかを指定します。例: スタンドアロンアプリケーションの場合、実行構成には、アプリケーション実行可能ファイルへのパスとアプリケーションコマンドライン引数が含まれます。プロセスフィルターこのリストを使用して...