JetBrains dotCover
TeamCity は JetBrains dotCover のコンソールランナーにバンドルされています。バンドル版に加えて、JetBrains dotCover コマンドラインツールの別のバージョンをインストールしたり、管理 | ツールページを使用してデフォルトを変更したりできます。
ビルドステップの .NET カバレッジセクションで適切なオプションを選択すると、.NET プロジェクトのコードカバレッジを収集し、TeamCityWebUI 内のカバレッジ統計と詳細なカバレッジレポートを表示できます。
dotCover のライセンスがあり、開発者のマシンにインストールされている場合、TeamCity で収集されたカバレッジ結果をダウンロードして、TeamCity Visual Studio アドインを使用して Visual Studio 内で表示できます。
dotCover の設定
dotCover ホームへのパス | デフォルトの dotCover を使用する場合は、このフィールドを空白のままにします。追加でインストールされたバージョンのいずれかをデフォルトとしてマークできます。 |
フィルター | コードカバレッジ用の改改行コードのフィルタリストを指定します。 例: すべての 関連するブログ投稿(英語)も参照してください。 |
属性フィルター | ソリューション全体のカバレッジデータを知りたくない場合は、属性(たとえば、 |
追加引数 | |
dotCover カバレッジエンジンは、ラインカバレッジではなくステートメントカバレッジをレポートします。
異なるビルドでコンパイルしてテストする
一貫性のあるカバレッジレポートを作成するには、dotCover がビルドチェックアウトディレクトリにあるソースファイルを見つけられる必要があります。これは、バイナリをビルドして同じビルドでカバレッジを収集する場合、または異なるビルドを使用するが、スナップショット依存関係と同じエージェントおよび同じ VCS 設定を使用する場合には簡単なはずです。
あるビルドでバイナリをビルドし、別のチェックアウト設定を使用して別のビルドでコードカバレッジを収集する必要がある場合は、いくつかの追加プロパティが必要です。次のことが前提となります。
ビルド構成 A はコードをデバッグ情報でコンパイルし、アセンブリと
.pdbファイルでアーティファクトを作成します。ビルド構成 B は、dotCover を有効にしてテストを実行し、A に対するスナップショット依存関係を持ちます。
B のビルド結果のコードカバレッジタブにソースコードを表示するには、B を A と同じ VCS ルートにポイントして、適切な場所 ( チェックアウトルート ) にあるソースコードを取得し、A と同じチェーンからのビルドにアーティファクトの依存関係を追加する必要があります (dotCover が .pdb ファイルからソースへのパスを取得するため)。
また、TeamCity にソースコードの場所を教える必要があります。これを行うには、以下の手順を実行します。
値
%teamcity.build.checkoutDir%のteamcity.dotCover.sourceBase構成パラメーターをコンパイル用ビルド構成 A に追加します。値
%dep.btA.teamcity.dotCover.sourceBase%=>%teamcity.build.checkoutDir%を使用して、構成パラメーターdotNetCoverage.dotCover.source.mappingをテスト構成 B に追加します。ここで、btAは、構成 A の実際の ID です。
スタンドアロン dotCover ランナー
バージョン 2024.03 以降では、.NET および NUnit ランナーで「.NET カバレッジ」を有効にして JetBrains 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.03 ~ 2025.11 | 2023.3.3 |
2026.1 そしてさらに新しい | 2025.1.7 |
サーバー管理 | ツールページで dotCover のインストールされたバージョンを見ることができます。バンドルされているバージョンがデフォルトとして設定されています。他のバージョンをインストールしてデフォルト設定を変更することができます。
クロスプラットフォーム dotCover
TeamCity は、クロスプラットフォームの JetBrains、dotCover、バージョン 2019.2.3+ をサポートすることで、Linux および macOS 上の .NET Core プロジェクトのカバレッジを収集できます。
dotCover 2019.2.3 for Windows は TeamCity にバンドルされています。Windows 以外のプラットフォームでコードカバレッジを収集する必要がある場合は、管理 | ツールにクロスプラットフォーム dotCover.GlobalTool(英語) を追加し、.NET ビルドステップで dotCover カバレッジを有効にします。Windows でもクロスプラットフォーム dotCover を使用する場合は、エージェントに .NET フレームワーク SDK 4.6.1+ がインストールされていることを確認してください。
コンテナーラッパー拡張機能を使用して、コンテナー内で dotCover コードカバレッジ分析を実行することもできます。
関連ページ:
エージェントツールのインストール
TeamCity では、エージェントツールは、エージェントを構築するためのファイルをディストリビューションするためだけに使われるプラグインの一種です。エージェントツールは、ファイルのセットまたはバイナリディストリビューションになります。そのクラスはランタイムにロードされません。TeamCity を使用すると、サーバー上で追加のツールをインストール / 削除し、オンデマンドでエージェントを構築するために配布することができます。ビルドエージェントが多数ある環境では、構成ファイルのディストリビューショ...
ビルド結果を扱う
TeamCity には、ホームと設定という 2 つのメインモードがあります。ホームモードでは、プロジェクトレベルとビルド構成レベルでビルド結果が蓄積されます。新しい TeamCity UI を使用している場合は、プロジェクトサイドバーを介してこの階層間を移動できます。各モードには、独自の詳細レベルがあります。プロジェクト全体のビルド統計を確認するには、プロジェクトホームにアクセスしてください。単一のビルド構成の詳細を参照するには、その名前をクリックしてビルド構成ホームを開きます。ホームページで特...
一般的な依存関係の概念
このページでは、例に基づいて、TeamCity で依存関係がどのように機能するかについての一般的な考え方を示します。依存関係の説明については、ビルド構成の依存関係を参照してください。多くの場合、あるビルドの出力を別のビルドで使用するだけでなく、同じソースで複数のビルドを順次または並列に実行すると便利です。典型的な例を考えてみましょう。本番ビルドを取得する前に、Windows と macOS でテストする必要があるクロスプラットフォームプロジェクトがあります。この単純なケースに最適なワークフローは...
VCS チェックアウト規則
VCS チェックアウトルールを使用すると、構成された VCS ルートの一部をチェックアウトし、バージョン管理のディレクトリをビルドエージェントのビルドチェックアウトディレクトリのサブディレクトリにマップすることができます。リポジトリ全体の VCS ルートを定義し、各ビルド構成にその関連部分のみをチェックアウトするように指示することができます。チェックアウトルールは、UI に表示されるビルドの変更と、エージェント上のビルドでチェックアウトされるファイルに影響します。コミットがビルドの VCS ルー...
ビルド結果ページ
TeamCity では、ビルドに関するすべての情報 (キューに入っているか、実行中か、完了しているかに関係なく) がビルド結果ページに蓄積されます。ビルド結果を表示するには、任意の構成を選択してビルド履歴を表示し、必要なビルド番号をクリックします。このページには、いくつかの静的タブ(概要、変更、ビルドログ、アーティファクトなど)と、特定の構成機能に応じて表示されるコンテキストタブが含まれています。例: 依存関係タブは、親構成がビルドチェーンに属するビルドに対してのみ表示されます。内部ビルド ID:...
VCS ルートの設定
VCS ルートは、TeamCity ←→ VCS リポジトリ通信の基礎です。この不可欠な要素は、リポジトリのチェックアウト、コードソースのタグ付け、ビルドステータスの VCS への返信など、さまざまな操作を実行するために必要な VCS プロバイダーへの接続を定義します。VCS ルートには次の情報が保存されます。TeamCity がリモートファイルをプルおよびプッシュするために使用する URL を取得してプッシュします。ブランチ情報: TeamCity が追跡する必要があるリポジトリブランチのリスト...