dotCoverは、直接Visual StudioおよびJetBrains Riderでご利用いただける、 .NETユニットテストおよびコードカバレッジツールです。 コードにおけるユニットテストの対象範囲の把握や、コードカバレッジを視覚化する優れた方法の提供をし、 継続的インテグレーションに対応しております。 dotCoverは、.NET Framework、.NET Core、Mono、Mono for Unityを対象とするアプリケーションでステートメントレベルのコードカバレッジを計算して報告します。
dotCover は Visual Studio および JetBrains Rider のプラグインであるため、コードエディタを離れることなくコードカバレッジを解析して視覚化できます。 ユニットテストの実行や IDEでのカバレッジ結果の解析、さまざまなカラーテーマ、新しいアイコンや メニューのサポートなどが含まれています。
dotCoverは、Visual Studio 2010 — 2019とJetBrains Rider 2018.2以降に対応しています。
Windows の dotCover は Visual Studio または JetBrains Rider の一部となっており、サポート対象バージョンの .NET Framework、.NET Core、.NET、Mono 5.10 以降、Unity 2018.3 以降をターゲットとするプロジェクトをサポートしています。 macOS と Linux の dotCover は JetBrains Rider の一部としてのみ使用できます。
dotCoverには、JetBrains製の別の.NET開発者向けツールであるReSharperと同様のユニットテストランナーが同梱されています。
ランナーは、Visual Studio / JetBrains Riderで動作し、セッションを通じてユニットテストを管理し、MSTest、NUnit、xUnit(すべて細かい設定なしで利用可能)、および(プラグインを介して)MSpec と複数のユニットテストフレームワークをサポートしています。
最新のコード変更で、どのユニットテストが影響を受けたのかをdotCoverが即座に把握し、 影響を受けたテストに対し 自動的に再実行するモダンなユニットテストワークフローという継続的なテストを dotCoverはサポートしております。
お好みに合わせて、dotCoverはファイルを保存するとき、ソリューションを構築するとき、 あるいは明示的にそうするように指示されたときに、影響を受けたテストを実行することができます。
継続的テストモードは、どのユニットテスセッションでもオンにすることができます。 こうすると、どのテストを継続的に実行するか、どのテストを 従来の方法で実行するかを選択できます。
dotCoverの主な使用例は、ユニットテストカバレッジの解析です。すなわち、ユニットテストがアプリケーションのビジネスロジックに対応している範囲を把握することです。
dotCoverは、ユニットテストの実行結果と共に、ユニットテストが、特定のプロジェクト、名前空間、 型、または型メンバーにどの範囲で対応しているかを示すカバレッジツリーを表示します。
カバレッジデータを視覚化するために、dotCoverはコードエディタでコード行を 強調表示することができます。 マーカー強調表示か、カラー背景、または両方を選択できます。
強調表示では、テストで対応しているコードと対応していないコードだけでなく、 カバレッジユニットテストの結果も表示されています。 緑色は、テストに合格したことを表し、 赤色は、ステートメントに対応している1以上のテストが失敗したことを表します。 灰色は、 テストが対応していないコードを表します。
dotCoverは、どのテストがコード内の特定の場所(クラス、メソッド、プロパティなど)に対応しているかを 検出するためのコマンド(およびキーボードショートカット)を提供します。
Visual Studioのテキストエディタ、またはdotCoverのカバレッジツリービューからコマンドを 使用できます。
コードに対応しているテストを一覧表示するポップアップからそのテストに移動できます。 さらに、 テストの即時実行や、既存ユニットテストセッションへの追加ができます。
ホットスポットビューは、ソリューション内の最も危険なメソッドを見極めるために設計されました。 ホットスポットは、高い周期的複雑度、およびメソッドの範囲の狭いユニットテスト対応によって 計算されます。
ソリューション中のカバレッジデータは必要のないときがあります。 例えば、ObsoleteAttribute
のマークが付いているコード、
または特定のレガシープロジェクトコードのカバレッジ統計には
興味がないかもしれません。
その場合は、プロジェクト、名前空間、型、または型メンバー名に基づいて、グローバル、 またはソリューション固有のカバレッジフィルタを設定できます。 カバレッジ情報の収集を特定の属性でマークされた(またはマークされていない)コードに 制限する属性フィルタもご利用いただけます。
事前に設定したフィルタ、または開いているソリューションに適用するフィルタに対して、 項目を扱っているときにカバレッジ結果から除外することができます。
カバレッジデータがすでに収集されている場合は、カバレッジツリーから特定のノードを除外することができます (任意で永続的なカバレッジフィルタの作成もできます)。 そうすると、dotCoverは即時にカバレッジ統計を再計算します。
dotCoverは、カバレッジデータをあなたに合った方法で処理することをサポートします。
HTML、XML、JSON、NDepend用のXMLなど、いくつかのフォーマットでエクスポートすると、 カバレッジレポートを他のチームと共有したり、カバレッジ情報を 外部サービスに渡したりできます。
dotCoverは、ユニットテストカバレッジに対して、Visual Studioから実行する.NET アプリケーションにおいてカバレッジ解析を実行できます。
これにより、QAエンジニアは、ユースケースを実行し、このユースケース中にコードのどの部分が 実際に実行されたかを調べることができます。 カバレッジスナップショットの保存と結合のおかげで、 複雑なテストの実行が可能です。
dotCoverは継続的インテグレーションサーバーに最適です。特にJetBrainsの自社製品である TeamCityにぴったりです。
ローカルマシンでカバレッジ解析を実行せず、Visual StudioへのTeamCityアドインを介して、dotCoverはTeamCityサーバーからカバレッジデータを取得することができます。
継続的インテグレーションプロセスの一部としてカバレッジの実行を予約し、 サーバーサイドのカバレッジレポートを生成するのに役立つdotCoverカバレッジ解析エンジンは、 TeamCityの無料版に同梱されています。 TeamCityはdotCoverコンソールランナーの出力を理解し、 ビルドログでそのエラーと警告を強調表示します。
無料30日間体験版をご利用可能です