概要
JetBrains dotCover は、.NET ユニットテストランナーおよびコードカバレッジツールです。 dotCover を使用すると、.NET アプリケーションコードのどの程度が実際にテストされているかを分析できます。 ユニットテスト中またはアプリケーションを手動で実行しているときにメソッド呼び出しを測定することにより、dotCover はどのステートメントがカバーされ、どのステートメントがカバーされていないかを表示します。
dotCover をすぐに使い始めるには、 始める方法を参照してください。
コードカバレッジとは
単体テストでは、コードカバレッジは、自動テストの実行中にコードの何行が実行されるかを表す尺度です。 以下の例を参照してください。

カバレッジ分析を有効化して TestCircleLength() テストを実行すると、dotCover はテストがどれだけソースコードをカバーしているかを表示します:

単体テスト専用ですか?
いいえ、ユニットテストに加えて、いわゆる「アプリケーションカバレッジ分析」があります。 この分析中に、dotCover の制御下でアプリケーションを実行し、特定の使用シナリオを体験します。 ここでの主な目的は、特定のシナリオでコードのどの部分が呼び出され、どの部分に到達しないかを理解することです。

dotCover を実行するにはどうすればよいですか
dotCover を実行する方法は、ニーズによって異なります:
時々 ユニットテストのカバレッジを分析する必要がある開発者の場合、Microsoft Visual Studio または JetBrains Rider に統合された dotCover を使用するのが最適です。 テスト駆動開発 (TDD) を採用している場合や、コードを変更した直後にカバレッジメトリクスを取得したい場合は、 継続的テストの使用を検討してください。
ローカルマシンで アプリケーションカバレッジ分析を実行したい場合は、dotCover を スタンドアロンアプリケーションとして実行することを検討してください。
リモートサーバーでカバレッジ解析を実行したい場合は、dotCover コマンドラインツールを使用してください。
カバレッジ分析を継続的インテグレーション (CI) ビルドの一部にしたい場合は、 JetBrains TeamCity などの CI サーバーまたは その他の CI サーバーで dotCover を実行できます。
コードカバレッジが重要なのはなぜですか ?
dotCover の主な目的は、リスクの特定とコード品質の保証です。 テストでカバーされるコードが多いほど、何も壊すことなく変更を加えることがより安全になります。 多くのソフトウェア企業は、製品リリース前に満たさなければならない要件として、特定のコードカバレッジ値を設けています。 同時に、コードカバレッジは、どれだけのテストを行っているかを示すものであり、テストがどれだけうまく行われているかを示すものではないことにも注意してください。
