dotCoverの機能

dotCoverは、直接Visual StudioおよびJetBrains Riderでご利用いただける、 .NETユニットテストおよびコードカバレッジツールです。 コードにおけるユニットテストの対象範囲の把握や、コードカバレッジを視覚化する優れた方法の提供をし、 継続的インテグレーションに対応しております。 dotCoverは、.NET Framework.NET CoreMonoMono for Unityを対象とするアプリケーションでステートメントレベルのコードカバレッジを計算して報告します。

Visual StudioとRiderの統合

Visual StudioおよびJetBrains Riderとの統合

dotCoverは、コードエディタを離れることなくコードカバレッジを解析し 視覚化できるVisual Studioと JetBrains Riderのプラグインです。 ユニットテストの実行や IDEでのカバレッジ結果の解析、さまざまなカラーテーマ、新しいアイコンや メニューのサポートなどが含まれています。

dotCoverは、Visual Studio 2010 — 2019とJetBrains Rider 2018.2以降に対応しています。

macOSとLinuxのサポート

Windows、 Mac、およびLinuxで利用可能

WindowsのdotCoverはVisual StudioまたはJetBrains Riderの一部として動作し、.NET Framework 1.0 – 4.7、.NET Core 1.0 – 3.0をターゲットとするプロジェクトをサポートします。macOSとLinuxのdotCoverはJetBrains Riderの一部としてのみ動作し、.NET Core 1.0 – 3.0、Mono 5.10以降、およびMono for Unity 2018.3以降の各プロジェクトのコードカバレッジ解析に使用できます。

組み込みのユニットテストランナー

ユニットテストの実行と管理

dotCoverには、JetBrains製の別の.NET開発者向けツールであるReSharperと同様のユニットテストランナーが同梱されています。

ランナーは、Visual Studio / JetBrains Riderで動作し、セッションを通じてユニットテストを管理し、 MSTest、NUnit、xUnit(すべて細かい設定なしで利用可能)、および(プラグインを介して)MSpecと 複数のユニットテストフレームワークをサポートしています。

dotCoverによる継続的テスト

継続的テスト

最新のコード変更で、どのユニットテストが影響を受けたのかをdotCoverが即座に把握し、 影響を受けたテストに対し 自動的に再実行するモダンなユニットテストワークフローという継続的なテストを dotCoverはサポートしております。

お好みに合わせて、dotCoverはファイルを保存するとき、ソリューションを構築するとき、 あるいは明示的にそうするように指示されたときに、影響を受けたテストを実行することができます。

継続的テストモードは、どのユニットテスセッションでもオンにすることができます。 こうすると、どのテストを継続的に実行するか、どのテストを 従来の方法で実行するかを選択できます。

dotCoverのユニットテストランナーによるユニットテストの実行と管理

ユニットテストカバレッジ

dotCoverの主な使用例は、ユニットテストカバレッジの解析です。すなわち、ユニットテストがアプリケーションのビジネスロジックに対応している範囲を把握することです。

dotCoverは、ユニットテストの実行結果と共に、ユニットテストが、特定のプロジェクト、名前空間、 型、または型メンバーにどの範囲で対応しているかを示すカバレッジツリーを表示します。

Visual StudioとJetBrains Riderでのカバレッジ強調表示

カバレッジデータを視覚化するために、dotCoverはコードエディタでコード行を 強調表示することができます。 マーカー強調表示か、カラー背景、または両方を選択できます。

強調表示では、テストで対応しているコードと対応していないコードだけでなく、 カバレッジユニットテストの結果も表示されています。 緑色は、テストに合格したことを表し、 赤色は、ステートメントに対応している1以上のテストが失敗したことを表します。 灰色は、 テストが対応していないコードを表します。

コードから、それに対応しているユニットテストへの移動

カバレッジテストへのナビゲーション

dotCoverは、どのテストがコード内の特定の場所(クラス、メソッド、プロパティなど)に対応しているかを 検出するためのコマンド(およびキーボードショートカット)を提供します。

Visual Studioのテキストエディタ、またはdotCoverのカバレッジツリービューからコマンドを 使用できます。

コードに対応しているテストを一覧表示するポップアップからそのテストに移動できます。 さらに、 テストの即時実行や、既存ユニットテストセッションへの追加ができます。

dotCoverホットスポットビュー

ホットスポットビュー

ホットスポットビューは、ソリューション内の最も危険なメソッドを見極めるために設計されました。 ホットスポットは、高い周期的複雑度、およびメソッドの範囲の狭いユニットテスト対応によって 計算されます。

カバレッジ解析をリモートマシンで実行

リモートコードカバレッジ

リモートマシンでユニットテストのカバレッジ解析を実行して、結果をローカルコンピュータに 返すことができます。 カバレッジ解析を始めると、dotCoverは、バイナリと実行するテストの一覧を リモートサーバーに送信します。

すべての計算はサーバーによって実行され、その後カバレッジスナップショットが お使いのマシンに送信されます。 その後、ローカルカバレッジの実行後と同じ方法でカバレッジ結果を調べることが できます。

属性フィルタは、カバレッジフィルタを補完します。

カバレッジフィルタ

ソリューション中のカバレッジデータは必要のないときがあります。 例えば、ObsoleteAttributeのマークが付いているコード、 または特定のレガシープロジェクトコードのカバレッジ統計には 興味がないかもしれません。

その場合は、プロジェクト、名前空間、型、または型メンバー名に基づいて、グローバル、 またはソリューション固有のカバレッジフィルタを設定できます。 カバレッジ情報の収集を特定の属性でマークされた(またはマークされていない)コードに 制限する属性フィルタもご利用いただけます。

カバレッジ結果から特定の項目を除外すると、dotCoverは、即時に統計を再計算します。

カバレッジツリーからのノードの除外

事前に設定したフィルタ、または開いているソリューションに適用するフィルタに対して、 項目を扱っているときにカバレッジ結果から除外することができます。

カバレッジデータがすでに収集されている場合は、カバレッジツリーから特定のノードを除外することができます (任意で永続的なカバレッジフィルタの作成もできます)。 そうすると、dotCoverは即時にカバレッジ統計を再計算します。

dotCoverは、カバレッジデータをXML、HTML、およびJSONなどのフォーマットでエクスポートします。

複数のレポートフォーマット

dotCoverは、カバレッジデータをあなたに合った方法で処理することをサポートします。

HTML、XML、JSON、NDepend用のXMLなど、いくつかのフォーマットでエクスポートすると、 カバレッジレポートを他のチームと共有したり、カバレッジ情報を 外部サービスに渡したりできます。

dotCoverは手動テストにご利用いただけます

手動テストのコードカバレッジ

dotCoverは、ユニットテストカバレッジに対して、Visual Studioから実行する.NET アプリケーションにおいてカバレッジ解析を実行できます。

これにより、QAエンジニアは、ユースケースを実行し、このユースケース中にコードのどの部分が 実際に実行されたかを調べることができます。 カバレッジスナップショットの保存と結合のおかげで、 複雑なテストの実行が可能です。

継続的インテグレーションの一部としてのTeamCityでのコードカバレッジ強調表示

継続的インテグレーションの一部としてのカバレッジ解析

dotCoverは継続的インテグレーションサーバーに最適です。特にJetBrainsの自社製品である TeamCityにぴったりです。

ローカルマシンでカバレッジ解析を実行せず、Visual StudioへのTeamCityアドインを介して、dotCoverはTeamCityサーバーからカバレッジデータを取得することができます。

継続的インテグレーションプロセスの一部としてカバレッジの実行を予約し、 サーバーサイドのカバレッジレポートを生成するのに役立つdotCoverカバレッジ解析エンジンは、 TeamCityの無料版に同梱されています。 TeamCityはdotCoverコンソールランナーの出力を理解し、 ビルドログでそのエラーと警告を強調表示します。

ダウンロード

無料30日間体験版