Ich habe Probleme mit Sonar beim Abrufen des Jacoco-Analyseberichts. Jenkins ist jedoch in der Lage, den Bericht aufzunehmen und die Ergebnisse anzuzeigen. Mein Projekt ist ein Maven Build, gebaut von Jenkins. Der jacoco-Bericht wird von maven erzeugt (konfiguriert im Pom). Sonar wird mit dem Jenkins-Plugin ausgeführt.SonarQube empfängt keine Unit-Testabdeckung
Das ist, was ich auf Sonarqube sehen:
Dies ist der Bericht i des Projekts in jenkins sehen können.
Das Maven Plugin config:
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.6.4.201312101107</version>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>default-report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
<execution>
<id>default-check</id>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
Jenkins Sonar Plugin Config
Irgendwo in der Konsole Ausgabe sollte sagen: "Code-Coverage auf 0% gesetzt ...", das Informationen wären nützlich, um Ihr Problem zu beheben. Es fallen jedoch zwei Dinge auf, ohne dass man es sich ansehen muss: 1. Sie sollten die Eigenschaft sonar.binaries einstellen und auf Ihre kompilierten Klassendateien verweisen. 2. Sie sollten sonar.tests setzen und auf Ihre nicht kompilierten Testdateien zeigen. 3. Sie sollten im Debug-Modus kompilieren (Sie könnten bereits ich kann nicht sagen) – Cole9350
@ Cole9350 so der Fehler, ich sehe in der Ausgabe ist: _Project Coverage ist auf 0% eingestellt, da es keine Verzeichnisse mit classes._ Ich habe versucht, sonar.binaries auf die Wurzel des Klassenverzeichnisses zu setzen -/target/classes - aber das führte zu einem Fehler, der besagt, dass sie nicht gefunden werden konnte – anton91
** Korrektur ** Ich habe es erneut versucht und den vollständig qualifizierten Pfad zu den Klassen festgelegt und ich bin jetzt in der Lage, die Codeabdeckung zu sehen. Allerdings weiß ich den Fehler sehen, wenn der Jacoco-Sensor läuft: Keine Informationen über die Abdeckung pro Test. – anton91