2017-07-05 2 views
1

Ich versuche Code Coverage-Metriken zu sammeln sowohl bei Unit- als auch bei Integrationstests, die von Maven ausgeführt werden. Folgen Sie dazu den Anweisungen, die mit der SonarQube Maven plugin guide verknüpft sind. Ich glaube, ich habe Deckungsmetriken erfolgreich mit jacoco generiert: Ich habe Dateien jacoco.exec und jacoco-it.exec, und obwohl ich nicht weiß, wie man in ihnen nach nützlichen Informationen suchen, haben sie verschiedene Größen in Übereinstimmung mit verschiedenen Anzahlen von Einheit und Integration Tests , FWIW.Wie erhalte ich Berichte zur Integrationstestabdeckung mit dem Sonarqube Maven-Plugin?

Von dort kann ich z. mvn sonar:sonar, um die Unit-Testabdeckung auf meinen lokalen Server zu übertragen, aber ich konnte keine Integrationstestabdeckung hochladen. In meiner Pom-Datei habe ich eine Eigenschaft <sonar.junit.reportPaths>target/failsafe-reports,target/failsafe-reports</sonar.junit.reportPaths>, die nichts zu tun scheint. Ich habe sowohl die neuesten offiziellen und Codehaus-Versionen von sonar-maven-plugin (Version 3.3.0.603) ausprobiert. Ich verwende das neueste offizielle SonarQube Docker-Image (v. 6.4), das SonarQube Version 6.3.1 gemäß der SQ-Benutzeroberfläche enthält (warum die Diskrepanz dort?).

ich in der Konsolenausgabe bemerkt, wenn mvn sonar:sonar ausgeführt wird, sagt es

[INFO] Sensor SurefireSensor [java] 
[INFO] parsing /home/jason/.../target/surefire-reports 
[INFO] Sensor SurefireSensor [java] (done) | time=57ms 
[INFO] Sensor JaCoCoSensor [java] 
[INFO] Analysing /home/jason/.../target/jacoco-it.exec 
[INFO] Analysing /home/jason/.../target/jacoco.exec 
[INFO] Analysing /home/jason/.../target/sonar/jacoco-merged.exec 

so beide jacoco Berichterstattung Berichte es Abholung, noch in der Benutzeroberfläche nur Unit-Tests zeigen. Da diese Ausgabe target/surefire-reports erwähnt, aber nie erwähnt failsafe-reports, als ein Experiment, versuchte ich alles von failsafe-reports zu surefire-reports zu kopieren, und die IT-Informationen in der SQ UI vorhanden war, aber das ist ein Hack, und ich fand eine ähnliche SO Frage Beratung Konfiguration fehlersicher Ausgabe auf surefire-reports, um SQ auf diese Weise auszutricksen.

Also meine ultimative Frage ist, wie bekomme ich SQ zum Hochladen von IT-Informationen? Einfachere Fragen sind, wie sage ich es zu analysieren failsafe-reports, und welchen Unterschied macht sonar.junit.reportPaths?

+0

Bitte bearbeiten Sie Ihre Frage, um die Version von SonarQube einzuschließen –

Antwort

0

es wahrscheinlich ist, eine kombinierte Zahl eher als eine Aufschlüsselung zeigt. Ich habe das gleiche Problem mit Gradle. Die andere Antwort bezieht sich auf eine ältere Version von Sonarqube. sonar.phase Eigenschaft wurde seit v4.2 gelöscht.

Hier ist der Link, wie es in der neueren Version durchgeführt wird: https://github.com/SonarSource/sonar-examples

Ich hoffe, das hilft.

Verwandte Themen