TeamCity On-Premises 2026.2 Help

JetBrains dotCover

TeamCity には JetBrains dotCover のコンソールランナーが付属しています。 バンドル版に加えて、JetBrains dotCover コマンドラインツールの別のバージョンをインストールしたり、 管理 | ツール ページを使用してデフォルトを変更したりできます。

ビルドステップの .NET カバレッジセクションで適切なオプションを選択すると、.NET プロジェクトのコードカバレッジを収集し、 TeamCity ウェブ UI 内でカバレッジ統計と詳細なカバレッジレポートを表示できます。

dotCover のライセンスがあり、開発者マシンにインストールされている場合、TeamCity で収集されたカバレッジ結果をダウンロードし、 TeamCity Visual Studio アドイン を使用して Visual Studio 内で表示できます。

dotCover 設定

dotCover ホームへのパス

デフォルトの dotCover を使用するには、このフィールドを空白のままにします。 任意の 追加インストール済み バージョンをデフォルトとしてマークできます。
または、ビルドエージェントにインストールされている dotCover へのパスを指定します。

フィルター

コードカバレッジ用の改改行コードのフィルタリストを指定します。 +|-:assembly=*;type=**;method=*** を使用して、カバーされたアセンブリにアセンブリを含めたり除外したりします。

たとえば、すべての MyDemoApp アセンブリでカバレッジを実行し、 MyDemoApp.*.Tests では実行しない場合は、カバレッジ用に次のアセンブリフィルターを指定します:
+:MyDemoApp.*
-:MyDemoApp.*.Tests

関連する ブログ投稿(英語)も参照してください。

属性フィルター

ソリューション全体のカバレッジデータを確認する必要がない場合は、属性でマークされたコード (たとえば ObsoleteAttribute) をカバレッジ統計から除外できます。 ここでは、これらの属性フィルターを次の形式で指定するだけで済みます: フィルターは改行区切りのリストにする必要があります。属性でマークされたコードをコードカバレッジから除外するには、 -:attributeName 構文を使用してください。 必要に応じて、アスタリスク (*) をワイルドカードとして使用します。
dotCover 2.0 以降でのみサポートされます。

追加引数

dotCover.exe に渡す追加のコマンドラインパラメーターの改改行コードリストを提供します。

dotCover カバレッジエンジンは、ラインカバレッジではなくステートメントカバレッジをレポートします。

異なるビルドでのコンパイルとテスト

一貫性のあるカバレッジレポートを作成するには、dotCover がビルドチェックアウトディレクトリの下にあるソースファイルを見つけられる必要があります。これは、同じビルドでバイナリをビルドしてカバレッジを収集する場合、または異なるビルドを使用していても、それらが スナップショット依存関係 と同じエージェント、および同じ VCS 設定 を使用している場合には容易です。

あるビルドでバイナリをビルドし、別の チェックアウト設定を使用して別のビルドでコードカバレッジを収集する必要がある場合は、いくつかの追加プロパティが必要です。 次のことが前提となります。

  • ビルド構成 A はコードをデバッグ情報でコンパイルし、アセンブリと .pdb ファイルでアーティファクトを作成します。

  • ビルド構成 B は、dotCover を有効にしてテストを実行し、A に対する スナップショット依存関係を持ちます。

B のビルド結果の コードカバレッジ タブにソースコードを表示するには、ソースコードを適切な場所 (チェックアウトルート) に取得するために B を A と同じ VCS ルート にポイントし、A の 同じチェーンからビルド に対する アーティファクト依存関係を追加する必要があります (dotCover が .pdb ファイルからソースへのパスを取得するため)。

また、TeamCity にソースコードの場所を伝える必要があります。 これを行うには、以下の手順を実行します。

  1. %teamcity.build.checkoutDir%teamcity.dotCover.sourceBase 構成パラメーターをコンパイル用ビルド構成 A に追加します。

  2. 構成パラメーター dotNetCoverage.dotCover.source.mapping を、値 %dep.btA.teamcity.dotCover.sourceBase%=>%teamcity.build.checkoutDir% とともにテスト構成 B に追加します。ここで、 btA は構成 A の実際の ID です。

スタンドアロン dotCover ランナー

バージョン 2024.03 以降では、 .NET および NUnit ランナーで「.NET カバレッジ」を有効にして JetBrains dotCover を呼び出すことができるだけでなく、スタンドアロンの dotCover ランナーを使用しても呼び出すことができます。

DotCover ランナー設定

このランナーを使用すると、次のことが可能になります。

  • dotCover カバレッジプロファイルでプロセスを起動し、独自のスナップショットを生成します。

  • 前の手順で生成されたスナップショットを結合して、 コードカバレッジタブ に表示される統合レポートを作成します。

詳細: dotCover

バンドルされた dotCover バージョン

TeamCity バージョン

dotCover バージョン

2018.1

2018.1.2

2018.2

2018.1.4

2019.1

2019.1.1

2019.2

2019.2.3

2020.1

2019.2.3

2020.2

2020.2.4

2021.1

2021.1.2

2021.2 ~ 2023.05

2021.2.2

2023.11

2023.2.2

2024 年 3 月 ~ 2025 年 11 月

2023.3.3

2026.1 以降

2025.1.7

インストールされている dotCover のバージョンは、 サーバー管理 | ツール ページで表示できます。 バンドル版はデフォルトとして設定されています。他のバージョンをインストールし、デフォルト設定を変更できます。

クロスプラットフォーム dotCover

TeamCity は、クロスプラットフォームの JetBrains dotCover バージョン 2019.2.3+ をサポートすることで、Linux および macOS 上の .NET Core プロジェクトのカバレッジを収集できます。

Windows 向け dotCover 2019.2.3 は TeamCity にバンドルされています。 Windows 以外のプラットフォームでコードカバレッジを収集する必要がある場合は、 管理 | ツールクロスプラットフォーム dotCover.GlobalToolを追加し、 .NET ビルドステップで dotCover カバレッジを有効化します。 Windows でもクロスプラットフォーム dotCover を使用する場合は、エージェントに .NET フレームワーク SDK 4.6.1+ がインストールされていることを確認してください。

コンテナーラッパー 拡張機能を使用して、コンテナー内で dotCover コードカバレッジ分析を実行することもできます。

2026 年 9 月 11 日