JaCoCo
TeamCity は JaCoCo(英語) をサポートしています。これは Java コードカバレッジツールで、幅広いカバレッジメトリクスとコードの複雑さを測定できます。
JaCoCo は、Ant、IntelliJ IDEA プロジェクト、Gradle、Maven の各ビルドランナーで使用できます。
JaCoco カバレッジを有効にする
TeamCity は Java エージェントカバレッジモードをサポートしているため、ビルドスクリプトやバイナリを変更せずにカバレッジを収集できます。追加のビルドステップは必要ありません — テストを実行するビルドステップで JaCoCo カバレッジを選択するだけです。
コードカバレッジセクションで、カバレッジランナーの選択ドロップダウンメニューのカバレッジツールとして JaCoCo を選択します。
カバレッジオプションを設定します。以下の利用可能なオプションの説明を参照してください。
オプション | 説明 | サンプル |
|---|---|---|
クラスファイルのディレクトリまたは jar | 分析するクラスファイルをスキャンするためのチェックアウトディレクトリを基準とした |
|
楽器へのクラス | |
|
コードカバレッジの結果は、ビルド結果ページの概要タブで確認できます。詳細レポートは、専用のコードカバレッジタブに表示されます。
TeamCity への JaCoCo カバレッジデータのインポート
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 |
完全なサービスメッセージの例:
関連ページ:
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