JetBrains dotCover
TeamCity には JetBrains dotCover のコンソールランナーが付属しています。 バンドル版に加えて、JetBrains dotCover コマンドラインツールの別のバージョンをインストールしたり、 管理 | ツール ページを使用してデフォルトを変更したりできます。
ビルドステップの .NET カバレッジセクションで適切なオプションを選択すると、.NET プロジェクトのコードカバレッジを収集し、 TeamCity ウェブ UI 内でカバレッジ統計と詳細なカバレッジレポートを表示できます。
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 に追加します。構成パラメーター
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 バージョン
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 コードカバレッジ分析を実行することもできます。