TeamCity 2020.1ヘルプ

JaCoCo

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

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

TeamCity 2020.1はJaCoCoの3つのバンドル版を提供します。

  • 0.7.5 (デフォルト)

  • 0.8.2

  • 0.8.4

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>']

属性名

説明

デフォルト値

サンプル

データ経路

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']