私のセットアップは次のとおりです。
- ジェンキンス 1.448
- ソナー2.13
- ジェンキンス ソナー プラグイン 1.72
- Sonar 用の MySql データベース
次のプロジェクトがあります。
- Eclipse プラグイン プロジェクト
- Mavenの使用
- 複数のモジュール (親 maven プロジェクト、ソース プラグイン プロジェクト、テスト フラグメント プロジェクト)
- ソース プラグイン プロジェクトのクラスをテストする単純な JUnit テスト
現時点でのプロセスは次のとおりです。
- Jenkins は SVN から親プロジェクトをチェックアウトします
- Jenkins は Maven と Tycho を使用してプロジェクトとそのモジュールをビルドします
- Jenkins は Surefire を使用してテストを実行し、レポートを作成します。
- Jenkins は Jenkins Sonar プラグインを使用して mvn sonar:sonar を起動し、コード分析を実行します
- 各モジュールで静的コード分析が行われます
- JaCoCo 失敗
Sonar には、利用可能な静的コード分析統計があり、テストの成功率が表示されます。欠けているのは、JaCoCo のコード カバレッジだけです。または、Cobertura のコード カバレッジでさえあるかもしれません。
この時点ではあまり気にしません。これらのいずれかでコード カバレッジの結果が得られるようにしたいだけです。
Cobertura はおそらく結果を生成できないようです - コードをインストルメント化できない - インストルメント化されたコードを間違った場所で探す - Tycho または別のソース/テスト コードのセットアップに対応できない
JaCoCo はその場でコード カバレッジを「監視」できるはずですが、その出力は
[INFO] [17:44:04.708] Sensor JaCoCoSensor...
[INFO] [17:44:04.717] Project coverage is set to 0% as no JaCoCo execution data has been dumped: /var/lib/jenkins/jobs/testPlugin/workspace/testSource/target/jacoco.exec
[INFO] [17:44:04.854] Sensor JaCoCoSensor done: 146 ms
[INFO] [17:44:10.587] Sensor JaCoCoSensor...
[INFO] [17:44:10.587] Project coverage is set to 0% as no JaCoCo execution data has been dumped: /var/lib/jenkins/jobs/testPlugin/workspace/testTest/target/jacoco.exec
[INFO] [17:44:10.631] Sensor JaCoCoSensor done: 44 ms
[INFO] [17:44:12.402] Sensor JaCoCoSensor...
[INFO] [17:44:12.402] Project coverage is set to 0% as build output directory doesn't exists: /var/lib/jenkins/jobs/testPlugin/workspace/testParent/target/classes
[INFO] [17:44:12.402] Sensor JaCoCoSensor done: 0 ms
私は何を間違っていますか?どこかの pom.xml で JaCoCo を有効にする必要がありますか? シュアファイアが必要ですか?Cobertura を使用するには何が必要ですか?