2016-06-03 12 views
0

Ich möchte Code Coverage mit JaCoCo und zeigen sie auf Sonarqube nach mehreren manuellen und automatisierten End-to-End-Tests. Zur Zeit können wir auch JUnit Tests Abdeckung sammeln, die während mvn testManuel Tests Code-Coverage auf Sonarqube

ausgelöst wird, es sieht aus wie ich zum Instrument benötigen Sie den Code auf JVM mit Jacoco Agent. Dafür brauche ich einige Beispiele. Zuallererst muss ich wissen, wo ich Jacoco-Agenten bekomme?

Antwort

3

Wenn Sie Maven bereits eingerichtet haben, sehen Sie, wie es ausgegeben wird. Jacoco bereitet ein Argument Linie für todsichere, die einen Zeiger auf das Mittel enthält:

[INFO] --- jacoco-maven-plugin:0.7.5.201505241946:prepare-agent (pre-unit-test) @ examples --- 
[INFO] jacoco.surefireArgLine set to -javaagent:E:\\mvnrepository\\org\\jacoco\\org.jacoco.agent\\0.7.5.201505241946\\org.jacoco.agent-0.7.5.201505241946-runtime.jar=destfile=E:\\examples\\target\\jacoco-ut.exec,append=true,includes=org.example.* 

Der erzeugte argline ist im Grunde das gleiche wie Sie für die JVM verwenden Sie für die Berichterstattung Daten generieren:

-javaagent:E:\\mvnrepository\\org\\jacoco\\org.jacoco.agent\\0.7.5.201505241946\\org.jacoco.agent-0.7.5.201505241946-runtime.jar=destfile=E:\\example\\target\\jacoco-ut.exec,append=true,includes=org.example.* 

Nachdem Sie die manuellen Tests abgeschlossen haben, müssen Sie die Sonaranalyse erneut ausführen, um die Komponententestergebnisse abzurufen. Beachten Sie, dass die Zieldatei in der Argline auf eine Position in Ihrer Mavenstruktur zeigen muss.

+0

Danke für die Antwort. Es funktioniert großartig. Ist es möglich, Jacoco-Berichte zusammenzuführen? Wir haben jetzt mehrere Exec-Dateien, die von verschiedenen Sub-Maven-Projekten erstellt werden, aber sie scheitern im Sonar-Bericht, wenn ich vom Submodul zum Sonar drücke. Vielleicht sollte ich versuchen, von Elternprojekt zu schieben? –