JaCoCo
TeamCity は、幅広いカバレッジメトリクスとコードの複雑度を測定できる Java コードカバレッジツール JaCoCo をサポートしています。
JaCoCo は、次のビルドランナーで使用できます: Ant、 IntelliJ IDEA プロジェクト、 Gradle 、および Maven。
JaCoco カバレッジの有効化
TeamCity は Java エージェントカバレッジモードをサポートしており、ビルドスクリプトやバイナリを変更せずにカバレッジを収集できます。 追加のビルドステップは必要ありません — テストを実行するビルドステップで JaCoCo カバレッジを選択するだけです。
コードカバレッジ セクションで、 カバレッジランナーを選択 ドロップダウンメニューのカバレッジツールとして JaCoCo を選択します。
カバレッジオプションをセットアップします - 以下の利用可能なオプションの説明を参照してください。
オプション | 説明 | サンプル |
|---|---|---|
クラスファイルのディレクトリまたは jar | 分析するクラスファイルをスキャンするための チェックアウトディレクトリを基準とした |
|
楽器へのクラス |
|
|
コードカバレッジの結果は、 ビルド結果 ページの 概要 タブで表示できます; 詳細レポートは、専用の コードカバレッジ タブに表示されます。
JaCoCo カバレッジデータを TeamCity にインポートする
TeamCity は JaCoCo カバレッジデータを解析し、次の形式の サービスメッセージ を使用してレポートを生成できます:
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 データファイルを読み込むためのチェックアウトディレクトリからの相対パスで区切られたパスのセット |
| |
包含 | スペース区切りのクラス名インクルードパターン |
|
|
除外 | スペース区切りのクラス名除外パターンのセット |
| |
ソース | ソースを読み取るためのチェックアウトディレクトリからの相対パスで区切られたパスのセット。 デフォルトでリストされる必要はありません。 |
|
|
クラスパス | 分析対象のクラスファイルをスキャンするための、 |
|
|
reportDir | 一時ファイルを保存するディレクトリへのパス。 レポートは、このディレクトリにカバレッジ | エージェントの一時ディレクトリのランダムなディレクトリ | jacocoReport |
完全なサービスメッセージの例: