SONAR - Messen der Testabdeckung mit Cobertura
Bin ich mit sonar Messen der code-Qualität. Eine Sache, die ich weiß nicht, ist die Schritte zum Messen der Testabdeckung mit Cobertura.
Ich folgte den Schritten von http://cobertura.sourceforge.net/anttaskreference.html und war in der Lage, zum generieren von xml-Dateien. Wie bekomme ich diese xml Dateien in SONAR?
Gibt es einen einfacheren Weg, um mit Cobertura in SONAR?
Ich bin mit den code-coverage - (Cobertura) in einem anderen server als meine SONAR-server. Beide Server laufen unter LINUX.
Danke für die Hilfe!
- Update zu diesem Thema: Beispiele finden Sie auf unserer sonar-Beispiel repository => github.com/SonarSource/sonar-examples/tree/master/projects/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Konfigurieren Sie die Sonar-Aufgabe zum hochladen von unit-test und cobertura erstellten Berichte durch andere Teile Ihrer build-Logik.
Dies ist im Gegensatz zu Maven, die ein standard-build-Lebenszyklus von Sonar ist in der Lage zu nutzen.
Unit test und code coverage
Folgende Logik führt die unit-tests mit cobertura instrumentiert Klassen. Ein XML-coverage report generiert wird, die von cobertura am Ende:
Aufrufen Von Sonar
Ich normalerweise verwenden eine sehr einfache Sonar Ziel:
Und Verwendung einer properties-Datei Steuern alle Aspekte von Sonar Verhalten:
Demonstriert, wie Sonar konfiguriert werden können, um pick-up die unit-test-Berichte erstellt von junit und der code coverage report generiert von cobertura.
Den build nicht zum laufen auf dem gleichen server wie Sonar. In diesem Fall muss der remote Sonar URL und JDBC-Anmeldeinformationen.
sonar.core.codeCoveragePlugin
. siehe docs.codehaus.org/display/SONAR/...Müssten Sie diese Eigenschaften, um die Sonar -
pom.xml
:(mit Pfade entsprechend Ihrer Umgebung)
And run:
Überprüfen Sie die Benutzer-Liste für mehr details.
Sonar
unterstützt auch ANT. Sie können die Eigenschaften hinzufügen, oben auf dem ant-script hier, zum Beispiel:<property key="sonar.dynamicAnalysis" value="false" />
. Ich habe nicht ausgeführt, Sonar + Cobertura + Ant Läufer, aber es sollte nicht anders sein. Alternativ können Sie aus einer Sonar-Stand Alone ( kein ANT, Maven, etc. ) Läuferwenn Sie mit Maven, dann müssen Sie nicht haben, etwas besonderes zu geben in Ihrem POM-Datei. Führen Sie einfach "mvn clean sonar:sonar" und Sonar erkennt automatisch Ihren code kompilieren, führen Sie Ihre tests mit Cobertura (das ist die Standard-coverage-engine von Sonar) und schieben Sie alle Ergebnisse in die DB.
Gleiche, wenn Sie mit Hilfe von Ant [1] oder die einfache java-Läufer [2] anstelle von Maven.
Ich tun, bestehen auf der Tatsache, dass Sie nicht haben, um manuell ausführen, Cobertura (mit einem Ant-task zum Beispiel), die zuvor ausgeführt Sonar.
[1] http://docs.codehaus.org/display/SONAR/Analyzing+with+Sonar+Ant+Aufgabe
[2] http://docs.codehaus.org/display/SONAR/Analyse+mit+eine+einfache+Java+Läufer
Fabrice,
SonarSource