TeamCity オンプレミス 2025.11 ヘルプ

JaCoCo

TeamCity は JaCoCo(英語) をサポートしています。これは Java コードカバレッジツールで、幅広いカバレッジメトリクスとコードの複雑さを測定できます。

JaCoCo は、AntIntelliJ IDEA プロジェクトGradleMaven の各ビルドランナーで使用できます。

JaCoco カバレッジを有効にする

TeamCity は Java エージェントカバレッジモードをサポートしているため、ビルドスクリプトやバイナリを変更せずにカバレッジを収集できます。追加のビルドステップは必要ありません — テストを実行するビルドステップで JaCoCo カバレッジを選択するだけです。

  1. コードカバレッジセクションで、カバレッジランナーの選択ドロップダウンメニューのカバレッジツールとして JaCoCo を選択します。

  2. カバレッジオプションを設定します。以下の利用可能なオプションの説明を参照してください。

オプション

説明

サンプル

クラスファイルのディレクトリまたは jar

分析するクラスファイルをスキャンするためのチェックアウトディレクトリを基準とした +|-:[path] 形式の改改行コードのパスパターンのセット。ライブラリおよびテストクラスファイルは、それらのカバレッジが必要でない限り、リストする必要はありません。

+:target/main/java/**

楽器へのクラス

+|-:[path] 形式のクラス名パターンの改改行コードセット。" クラスファイルのディレクトリまたは jar" フィールドにリストされている不要なクラスを除外することを許可します。テストクラスがコンパイルされている場合に便利です。

+:com.package.core.*

-:com.package.*Test*

コードカバレッジの結果は、ビルド結果ページの概要タブで確認できます。詳細レポートは、専用のコードカバレッジタブに表示されます。

TeamCity への JaCoCo カバレッジデータのインポート

TeamCity は、JaCoCo カバレッジデータを解析し、次の形式のサービスメッセージを使用してレポートを生成できます。

##teamcity[jacocoReport dataPath='<path to jacoco.exec file>']

TeamCity は、インポートされたデータを解析するためにデフォルトの JaCoCo バージョンを使用します。インポートされたカバレッジが異なるマイナーバージョン (X.X.X の 2 番目の数字) によって生成された場合、TeamCity はクラスファイルを処理してカバレッジを収集できないことに注意してください。これを防ぐには、管理 | ツール | JaCoCo カバレッジで選択されたデフォルトのバージョンが、インポートするカバレッジのツールバージョンに対応していることを確認してください。
あるいは、サービスメッセージの本文で必要なツールバージョンを直接指定することもできます。##teamcity[jacocoReport dataPath='coverage_data/jacoco.exec' includes='*' classpath='+:build/classes/java/main/**' toolVersion='X.X.X'] 指定されたバージョンが TeamCity サーバーにインストールされていることを確認してください。

属性

説明

デフォルト値

サンプル

データ経路

jacoco データファイルを読み込むためのチェックアウトディレクトリからの相対パスで区切られたパスのセット

jacocoResults/jacoco.exec jacocoResults/anotherJacocoRun.exec

包含

スペース区切りのクラス名インクルードパターン

*

com.package.core.* com.package.api.*

除外

スペース区切りのクラス名除外パターンのセット

com.package.test.* .*Test

ソース

ソースを読み取るためのチェックアウトディレクトリからの相対パスで区切られたパスのセット。デフォルトでリストされる必要はありません。

.

src

クラスパス

分析対象のクラスファイルをスキャンするための、+|-:[path] 形式のスペース区切りのパスパターンのセット。ライブラリとテストクラスファイルは、それらのカバレッジが望まれない限り、リストされる必要はありません。

+:**/*

+:target/main/java/**

reportDir

一時ファイルを保存するディレクトリへのパス。レポートは、このディレクトリにカバレッジ .zip として生成されます。同じ名前のディレクトリが存在しないことを確認してください。

エージェントの一時ディレクトリのランダムなディレクトリ

jacocoReport

完全なサービスメッセージの例:

##teamcity[jacocoReport dataPath='jacoco.exec' includes='com.package.core.*' classpath='classes/lib/some.jar' reportDir='temp/jacocoReport']
2025 年 4 月 07 日

関連ページ:

Ant

Ant ビルドランナーは Ant ファイルを処理できます。テストフレームワークのサポート:TeamCity Ant ランナーは、JUnit および TestNG フレームワークをサポートしています。スクリプト内でおよびタスクによってテストが直接実行されると、TeamCity はその場でテストを報告します。Ant スクリプトでタグを使用すると、JUnit タスクと TestNG タスクを並行して実行することができます。TeamCity はこれをサポートしており、並行プロセスを同時に正しくログに記録す...

Gradle

このビルドステップは、Gradle プロジェクトのビルドに合わせて調整されており、およびを含むすべての Gradle ビルド構成をサポートします。前提条件:Gradle でビルドを実行するには、Gradle 0.9-rc-1 以降がすべてのエージェントマシンにインストールされている必要があります。あるいは、Gradle ラッパーを使用する場合は、バージョン管理にチェックインされた Gradle ラッパースクリプトを適切に構成する必要があります。ステップ設定:Gradle ステップ設定のリストと...

サービスメッセージ

サービスメッセージは、ビルドに関するコマンド / 情報をビルドスクリプトから TeamCity サーバーに渡す特別に構成されたテキストです。TeamCity、それらはビルドの標準出力ストリームに書き込まれる必要があり、ビルドステップから出力またはエコーされますによって処理されます。例:echo ##teamcity[<messageName> 'value']echo