マイプロジェクトのセットアップは(githubで利用可能なすべてのソース)単純です:別のMavenのモジュールにユニットと統合テストのためのソナーで正しい報道をゲット
親
↳バックエンド
↳クライアント
↳統合テスト
とMavenをruningて後:
mci sonar:sonar -Dsonar.host.url=http://localhost:9000 -Dsonar.login=12...9
私はそのユニットとintegratを参照してくださいイオンテストはソナーでは見えますが、ITからのカバレッジはありません。 IntelijのIDEA jacoco-it.exec
については
私は犯人はここにあると仮定しています:
[INFO] Sensor JaCoCoSensor [java]
[INFO] No JaCoCo analysis of project coverage can be done since there is no class files.
[INFO] Sensor JaCoCoSensor [java] (done) | time=1ms
だから私は小さなhack(短期でやった:コピーされたすべてのソースファイルをintegration-test
モジュール):
<properties>
<sonar.sources>${basedir}/target/copied</sonar.sources>
</properties>
[...]
<!-- hack to generate coverage reports -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven-resources-plugin.version}</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>generate-sources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${sonar.sources}</outputDirectory>
<resources>
<resource>
<directory>${basedir}/../backend/src/main/java</directory>
<filtering>false</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${sonar.sources}</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
しかし、今、すべての私のクラスは、(ソナーが../target/copied
ディレクトリからもクラスを示して)重複エール:
ソナーバージョン:6.5
JacocoのMavenプラグイン:0.7.5.201505241946(も最新の0.7.9を試してみました)
ここで何をすべきですか?
で利用できるすべてのものをchagesと更新プロジェクトはい、私はこれらのプラグインを設定しています。 SurefireはUTを実行し、maven-failsafe-pluginはITテストを実行します。 jacocoの設定(前/後のユニットテストと前/後の統合テスト)。私はそれを読むことができないようにしたくないので、質問にコピーされていません。 – Pawel