dotCover 2026.1 Help

JetBrains TeamCity でカバレッジを設定する

通常、.NET ソリューションの継続的インテグレーション (CI) ビルドは、テストのコンパイルと実行を含む一連のタスクで構成されます。 JetBrains TeamCity CI サーバーの観点では、これらのタスクはビルドステップと呼ばれます。 TeamCity は dotCover コマンドラインツールにバンドルされているため、対応するビルドステップオプションを有効にするだけでコードカバレッジデータを収集できます。 TeamCity が収集したカバレッジ結果は、TeamCity 内でレポートとして表示したり、 カバレッジスナップショットとしてダウンロードして Visual Studio 内で表示したりできます。

例: アプリケーションとテストアセンブリの 2 つのプロジェクトからなるシンプルなソリューションがあります。 私たちの作業は、アプリケーションをコンパイルし、テストを実行し、テストカバレッジ統計を収集する継続的な統合ビルドを設定することです。 ワークフローは、使用している単体テストランナーによって異なります。

MSTest/NUnit

MSTest と NUnit のテストランナーは、TeamCity からすぐに提供されるため、一般的に必要なのは、対応するランナーを使用してビルドステップを追加することだけです。

TeamCity で MSTest/NUnit テストのカバレッジ分析を設定する

  1. TeamCity で 新規ビルドプロジェクトを作成し、VCS ルートをセットアップしてください。 次に新しいビルドステップを追加します。プロジェクト内に 新規プロジェクト新規ビルド構成を作成してください。

  2. 最初のビルドステップを追加し、ソリューションとテストをビルドしてください。 この例では、 .NET ランナーを使用します(ビルドエージェントに ソフトウェアのインストールが必要です)が、ビルド方法には他にも MSBuild の直接実行やバッチファイルの実行などさまざまなオプションがあります。

    TeamCity ビルドステップ

    ここでやっているのは解決策を構築することだけです。 カバレッジ設定はまだありません。

  3. テストを実行するビルドステップを追加します。 MSTest テストを使用する場合は、 コマンド として `vstest` を持つ .NET ランナーを選択します。 サンプルソリューションでは NUnit(英語) テストを使用しているため、 NUnit ランナーを選択します。 ここでは、NUnit バージョン、.NET ランタイムパラメーター、テストアセンブリへのパスも指定します。

    TeamCity ビルドステップ: テストの実行
  4. カバレッジを設定するときです。 .NET カバレッジツール では、 JetBrains dotCover を選択します。

    TeamCity ビルドステップ: カバレッジ
  5. アセンブリフィルター では、カバレッジ対象のアセンブリ(アセンブリ名のみ)を +: の接頭辞として追加し、 –: でカバレッジしたくないアセンブリを除外します。 この例では、実行中のテストを含む MainTests アセンブリを除外しています。

  6. 設定を保存して実行し、動作の仕方を確認します。

  7. ビルドが完了すると、 概要 タブにコードカバレッジに関する短いレポートが表示されます。

    TeamCity 実行の概要

    詳細を表示するには、 コードカバレッジ タブに切り替えます。 ここでは、テストがカバーするクラス / メソッドの量に関する詳細な統計を表示できます。

    TeamCity コードカバレッジレポート

    あるいは、個々のクラスにドリルダウンしてコードカバレッジを調べることもできます。

    TeamCity。 ソースコード上に表示されるコードカバレッジ

    ビルドアーティファクトには、カバレッジファイルが含まれています。

    TeamCity。 アーティファクト
  8. 実際の環境では、バイナリをビルドするものとコードカバレッジを収集するものの 2 つの異なるビルド構成がある場合があることに注意してください。 その場合、2 番目のビルド構成がソースファイルを見つけることができるように、スナップショットの依存関係を使用する必要があります。 そうしないと、ソースコードを表示しようとしたときに Source code is not available メッセージが表示されます。

    TeamCity。 ソースコードなし

    この問題を解決するには、 TeamCity のドキュメントの指示に従ってください。

xUnit

xUnit テストの実行と取得の主な問題は、xUnit が TeamCity によってすぐにサポートされていないことです。 これにより、解決しなければならない 2 つの問題が生じます。

  1. ソリューションを構築するには、xUnit パッケージを提供する必要があります。

    バイナリライブラリを VCS にコミットすることは良い習慣ではないため、パッケージの復元は、コンパイル段階の前に別のビルドステップである必要があります。

  2. xUnit テストランナーを提供し、手動で実行する必要があります。

    良いニュース:

    • ランナーは NuGet パッケージとして配布されるため、ソリューションの中ですぐに参照され、ビルド中にリストアされます(a を参照)。

    • ランナーが TeamCity サービスメッセージの形式で結果を提供するため、テスト結果を得るために必要な追加のアクションはありません。

TeamCity で xUnit テストのカバレッジ分析を設定する

  1. Visual Studio でソリューションを開きます。 テストプロジェクトでは、 xunit.runner.console NuGet パッケージへの参照を追加します。

    XUnit コンソールランナーのインストール
  2. TeamCity で 新規ビルドプロジェクトを作成し、VCS ルートをセットアップしてください。 次に新しいビルドステップを追加します。プロジェクト内に 新規プロジェクト新規ビルド構成を作成してください。

  3. TeamCity が NuGet サーバーとして構成されていることを確認してください。 管理 | ツールNuGet.exe テーブルを見つけ、必要な NuGet バージョンが含まれているか確認します。 該当するテーブルがない場合は、 ツールをインストール ... ボタンをクリックして NuGet を TeamCity に追加し、必要な手順に従ってください。

    TeamCity。 XUnit NuGet サーバー
  4. ソリューションによって参照される NuGet パッケージを復元するビルドステップを追加します。 ランナータイプ として NuGet インストーラー を使用してください。

    TeamCity。 NuGet インストーラーステップ
  5. 最初のビルドステップを追加し、ソリューションとテストをビルドしてください。 この例では、 .NET ランナーを使用します(ビルドエージェントに ソフトウェアのインストールが必要です)が、ビルド方法には他にも MSBuild の直接実行やバッチファイルの実行などさまざまなオプションがあります。

    TeamCity ビルドステップ

    ここでやっているのは解決策を構築することだけです。 カバレッジ設定はまだありません。

  6. テストを実行するビルドステップを追加します。

    • xUnit ランナーは単純な .exe ファイルとして実行されるため、 .NET ランナーを選択します。

    • コマンド<カスタム> を選択します。

    • プロジェクトのターゲットとなる .NET フレームワークバージョンに対応するランナーバージョンを使用していることを確認してください。

      %system.teamcity.build.workingDir%\SimpleTestsProject\packages\xunit.runner.console.2.3.1\tools\net452\xunit.console.exe
    • コマンドラインパラメーター フィールドには、コンパイルされたテストアセンブリへのパスが含まれている必要があります。

    TeamCity ビルドステップ。 実行とカバレッジ
  7. カバレッジを設定するときです。 .NET カバレッジツール では、 JetBrains dotCover を選択します。

    TeamCity。 XUnit カバレッジステップ
  8. アセンブリフィルター では、カバレッジ対象のアセンブリ(アセンブリ名のみ)を +: の接頭辞として追加し、 –: でカバレッジしたくないアセンブリを除外します。 この例では、実行中のテストと xUnit アセンブリに関連するすべてを含む MainTests アセンブリを除外します。

  9. 設定を保存して実行し、動作の仕方を確認します。

  10. ビルドが完了すると、 概要 タブにテスト結果とコードカバレッジに関する短いレポートが表示されます。

    TeamCity。 XUnit 実行の概要

    詳細を表示するには、 コードカバレッジ タブに切り替えます。 ここでは、テストがカバーするクラス / メソッドの量に関する詳細な統計を表示できます。

    TeamCity。 XUnit カバレッジ統計

    あるいは、個々のクラスにドリルダウンしてコードカバレッジを調べることもできます。

    TeamCity。 ソースコード上に表示されるコードカバレッジ

    ビルドアーティファクトには、カバレッジファイルが含まれています。

MSpec

MSpec は TeamCity で一部サポートされています。対応するビルドステップランナーはありますが、MSpec テストランナーはバンドルに含まれていないため、手動で TeamCity エージェントにインストールする必要があります。 幸い、ランナーは NuGet パッケージとして配布済みなので、ソリューションで直接参照でき、ビルド時にリストアされます。

TeamCity で MSpec テストのカバレッジ分析を設定する

  1. Visual Studio でソリューションを開きます。 テストプロジェクトで、 Machine.Specifications.Runner.Console NuGet パッケージへの参照を追加します。

    NuGet を介した MSpec のインストール
  2. TeamCity で 新規ビルドプロジェクトを作成し、VCS ルートをセットアップしてください。 次に新しいビルドステップを追加します。プロジェクト内に 新規プロジェクト新規ビルド構成を作成してください。

  3. TeamCity が NuGet サーバーとして構成されていることを確認してください。 管理 | ツールNuGet.exe テーブルを見つけ、必要な NuGet バージョンが含まれているか確認します。 該当するテーブルがない場合は、 ツールをインストール ... ボタンをクリックして NuGet を TeamCity に追加し、必要な手順に従ってください。

    TeamCity。 XUnit NuGet サーバー
  4. ソリューションによって参照される NuGet パッケージを復元するビルドステップを追加します。 ランナータイプ として NuGet インストーラー を使用してください。

    TeamCity。 NuGet インストーラーステップ
  5. 最初のビルドステップを追加し、ソリューションとテストをビルドしてください。 この例では、 .NET ランナーを使用します(ビルドエージェントに ソフトウェアのインストールが必要です)が、ビルド方法には他にも MSBuild の直接実行やバッチファイルの実行などさまざまなオプションがあります。

    TeamCity ビルドステップ

    ここでやっているのは解決策を構築することだけです。 カバレッジ設定はまだありません。

  6. テストを実行するビルドステップを追加します。

    • ランナータイプMSpec を選択してください。

    • プロジェクトのターゲットとなる .NET フレームワークバージョンに対応するランナーバージョンを使用していることを確認してください。

      %system.teamcity.build.workingDir%\SimpleTestsProject\packages\Machine.Specifications.Runner.Console.0.9.3\tools\mspec-clr4.exe

      プロジェクトのターゲットとする .NET Framework バージョンに対応したランナーのバージョンを使用していることを確認してください。

    • からテストを実行する では、コンパイルされたテストアセンブリへのパスを指定します。

    • 必要に応じて、 仕様を含める および 仕様を除外する に含める / 除外する仕様を指定します。

    TeamCity。 MSpec テストランナーステップ
  7. カバレッジを設定するときです。 .NET カバレッジツール では、 JetBrains dotCover を選択します。

    TeamCity。 MSpec カバレッジステップ
  8. アセンブリフィルター では、カバレッジ対象のアセンブリ(アセンブリ名のみ)を +: の接頭辞として追加し、 –: でカバレッジしたくないアセンブリを除外します。 この例では、実行中のテストと MSpec アセンブリに関連するすべてを含む MSpecTests アセンブリを除外しています。

  9. 設定を保存して実行し、動作の仕方を確認します。

  10. ビルドが完了すると、 概要 タブにテスト結果とコードカバレッジに関する短いレポートが表示されます。

    TeamCity。 MSpec テスト実行の概要

    詳細を表示するには、 コードカバレッジ タブに切り替えます。 ここでは、テストでカバーされたクラス / メソッドの量に関する詳細な統計を表示できます。

    TeamCity。 MSpec テストカバレッジ統計

    あるいは、個々のクラスにドリルダウンしてコードカバレッジを調べることもできます。

    TeamCity。 MSpec テストカバレッジがソースコード上に表示

    ビルドアーティファクトには、カバレッジファイルが含まれています。

2026 年 6 月 12 日