バージョン情報
JetBrains dotCover は、.NET ユニットテストランナーおよびコードカバレッジツールです。dotCover を使用すると、.NET アプリケーションコードのどの程度が実際にテストされているかを分析できます。ユニットテスト中またはアプリケーションを手動で実行しているときにメソッド呼び出しを測定することにより、dotCover はどのステートメントがカバーされ、どのステートメントがカバーされていないかを表示します。
dotCover をすぐに使い始めるには、始める方法を参照してください。
コードカバレッジとは
単体テストでは、コードカバレッジは、自動テストの実行中にコードの何行が実行されるかを表す尺度です。以下の例を参照してください。
![コードカバレッジの概要: ユニットテストとソースコード Introduction to code coverage. Unit tests and source code](https://resources.jetbrains.com/help/img/dotnet/2024.3/intro_code_before_coverage.png)
カバレッジ分析を有効にして TestCircleLength()
テストを実行すると、dotCover は、テストがカバーするソースコードの量を示します。
![コードカバレッジの概要: ユニットテストのカバレッジ Introduction to code coverage. Unit tests coverage](https://resources.jetbrains.com/help/img/dotnet/2024.3/intro_code_after_coverage.png)
単体テスト専用ですか?
いいえ、ユニットテストに加えて、いわゆる「アプリケーションカバレッジ分析」があります。この分析中に、dotCover の制御下でアプリケーションを実行し、特定の使用シナリオを実行します。ここでの主な目的は、特定のシナリオでコードのどの部分が呼び出され、どの部分に到達しないかを理解することです。
![コードカバレッジの概要: アプリケーションカバレッジ Introduction to code coverage. Application coverage](https://resources.jetbrains.com/help/img/dotnet/2024.3/intro_application_coverage.png)
dotCover を実行するにはどうすればよいですか
dotCover を実行する方法は、ニーズによって異なります。
定期的にユニットテストのカバレッジを分析する必要がある開発者の場合、Microsoft Visual Studio または JetBrains Rider に統合された dotCover を使用するのが最適です。テスト駆動開発 (TDD) を採用している場合や、コードを変更した直後にカバレッジメトリクスを取得したい場合は、継続的テストの使用を検討してください。
ローカルマシンでアプリケーションカバレッジ分析を実行したい場合は、dotCover をスタンドアロンアプリケーションとして実行することを検討してください。
リモートサーバーでカバレッジ解析を実行したい場合は、dotCover コマンドラインツールを使用してください。
カバレッジ分析を継続的インテグレーション (CI) ビルドの一部にしたい場合は、JetBrains TeamCity などの CI サーバーまたはその他の CI サーバーで dotCover を実行できます。
コードカバレッジが重要なのはなぜですか ?
dotCover の主な目的は、リスクの特定とコード品質の保証です。テストでカバーされるコードが多いほど、何も壊すことなく変更を加えることがより安全になります。多くのソフトウェア企業は、製品リリース前に満たさなければならない要件として、特定のコードカバレッジ値を設けています。同時に、コードカバレッジは、どれだけのテストを行っているかを示すものであり、テストがどれだけうまく行われているかを示すものではないことにも注意してください。
![コードカバレッジの概要: 偽のテスト Introduction to code coverage. Fake test](https://resources.jetbrains.com/help/img/dotnet/2024.3/intro_fake_test.png)
関連ページ:
![](https://resources.jetbrains.com/help/img/dotnet/2024.3/unit_test_explorer_howto.png)
入門
JetBrains dotCover は、.NET ユニットテストランナーおよびコードカバレッジツールです。dotCover を使用すると、.NET アプリケーションコードのどの程度が実際にテストされているかを分析できます。ユニットテスト中またはアプリケーションを手動で実行しているときにメソッド呼び出しを測定することにより、dotCover はどのステートメントがカバーされ、どのステートメントがカバーされていないかを表示します。dotCover は Visual Studio 2010, 201...
![](https://pleiades.io/icons/rider.png)
.NET コードのカバレッジ分析
JetBrains Rider の統合 dotCover は、.NET コードにコードカバレッジ機能を提供します。JetBrains Rider での dotCover 機能の可用性:すべての dotCover 機能が JetBrains Rider 2024.3 で使用できるわけではないことに注意してください。単体テストのカバレッジ分析、継続的なテスト、カバレッジフィルター、カバレッジツリーで検索、カバレッジレポート (XML、HTML など)、アプリケーションの適用範囲分析、ドキュメントの概...
![](https://resources.jetbrains.com/help/img/dotnet/2024.3/cover_settings.png)
継続的なテストを使用する
連続テストの概念は、コードを変更するとすぐに実際のテスト結果がすぐに得られることを意味します。プロジェクトを手動で再構築し、変更後にすべてのテストを再実行する必要はありません: 影響を受けるテストはバックグラウンドで自動的に実行されます(テストセッションは、変更の保存やプロジェクトのビルドなどの明示的なアクションによってトリガーされます)。ソリューションで継続的なテストを可能にするメインメニューからを選択し、左側のを選択します。継続的テストを構成する: テスト実行をトリガーする方法を指定します (...
![](https://pleiades.io/icons/dotcover.png)
アプリケーションのカバレッジ分析
ソリューションに単体テストがあるかどうかに関係なく、dotCover を使用すると、実行されたアプリケーションのコードカバレッジを分析できます。dotCover の制御下でアプリケーションを実行し、特定のシナリオで実行した後、実行のステートメントカバレッジを含むカバレッジスナップショットを取得します。このスナップショットのデータを使用して、対象のアプリケーションのソースコードにアクセスし、実行されたシナリオ中にコードのどの部分が呼び出され、何に到達しなかったかを確認できます。dotCover の...
![](https://resources.jetbrains.com/help/img/dotnet/2024.3/dotCover_standalone_app.png)
dotCover スタンドアロンアプリケーション
dotCover スタンドアロンアプリケーションでは、Visual Studio 以外で次のタスクを実行できます。.NET アプリケーションの実行範囲分析 - ウェルカムページの分析ボタンまたはまたは、カバレッジスナップショット(ようこそページのスナップショットを開くボタンまたはまたは)を開き、使用して次のタスクを実行します。ホットスポットの検出、カバレッジツリーの検索、カバレッジスナップショットからノードを除外、カバレッジ結果のエクスポート、グローバルカバレッジフィルターを編集するまたは、do...
![](https://resources.jetbrains.com/help/img/dotnet/2024.3/coverage_multiple_steps.png)
コマンドラインからのカバレッジ分析
dotCover コマンドラインツールを使用すると、次のことが可能になります。任意のテストランナー(MSTest、NUnit、xUnit、MSpec など)を使用してカバレッジ分析を実行し、実行されたテストのカバレッジをカバレッジスナップショットに記録します。マージコマンドを使用してカバレッジスナップショットをマージします。たとえば、異なるテストフレームワークを使用するユニットテストのスナップショットを結合します。レポートコマンドを使用して、さまざまな形式でカバレッジレポートを生成します。さらに...