2016-05-11 5 views
0

Ich habe Karma konfiguriert, was mir Deckungsbericht völlig in Ordnung gibt.
Es gibt mir im lcov-Format. Mit Bezug auf diese http://docs.sonarqube.org/display/PLUG/JavaScript+Coverage+Results+Import
lcov Bericht kann nach Sonar hochgeladen werden.Wie karma Testbericht zum Sonar hochladen?

Ich habe das Plugin in Sonar installiert. Mein Projekt baut durch ant-Skripte, so habe ich

hinzugefügt
<property name="sonar.javascript.lcov.reportPath" value="/lcov.info"/> 

ich auf einigen Blogs lesen, die Bedürfnisse lcov korrigiert werden, so dass Sonar es verstehen kann. Ich bin damit fertig.
Also lcov wird generiert und ist im richtigen Format.

Aus irgendeinem Grund kann das Sonar meinen LCOV-Bericht nicht finden und analysiert den Bericht nicht. Ich habe meinen Weg überprüft, es ist richtig.
Fehle ich etwas? Jede Hilfe wäre willkommen.

Antwort

0

Sie müssen eine Eigenschaft namens <sonar.javascript.lcov.reportPath> für Sonar hinzufügen, um lcov-Datei zu identifizieren. Diese Eigenschaft sollte auf den Speicherort der Datei lcov.info verweisen.

Und sicherstellen, dass JavaScript-Plugin im Sonar-Server installiert ist.

+0

Ja, das habe ich getan. Alles andere außer dem. –

+0

Dann ist es wahrscheinlich das Problem mit relativen Pfaden. Stellen Sie sicher, dass der Pfad in der Datei "karma.conf.js" und der Pfad "SF" in der Datei "lcov.info" korrekt sind. – SubSul

0

Der Pfad Ihres LCOV-Berichts ist auf /lcov.info festgelegt, der wie ein absoluter Pfad aussieht: Befindet sich Ihr Bericht wirklich im Stammverzeichnis Ihres Dateisystems? Wenn sich Ihr LCOV-Bericht nicht im Stammverzeichnis des Dateisystems, sondern im Stammverzeichnis Ihres Projekts befindet, sollte der Pfad des LCOV-Berichts lcov.info und nicht /lcov.info lauten.

1

lcov.info hat möglicherweise falsche Dateipfade. Andere Werkzeuge wie Overalls funktionieren gut und Sonar erwartet den relativen Pfad. So sah meine lcov.info aus. /Quelle /app/simplebind/child.component.ts war falsch und Sonarqube erwartet src /app/simplebind/child.component.ts

TN: 
SF:/source/app/simplebind/child.component.ts 
FN:11,(anonymous_3) 
FN:17,ChildComponent 
FN:22,(anonymous_5) 
FNF:3 
FNH:3 
FNDA:1,(anonymous_3) 
FNDA:3,ChildComponent 
FNDA:1,(anonymous_5) 
DA:1,1 
DA:3,1 
DA:11,1 

Verwenden Befehl nach dem Dateipfad in lcov zu ersetzen. Info. Sie können es nach dem Schluck von Ihrer Jenkins-Shell ausführen.

sed -i -- 's/\/source/src/g' report/remap/lcov.info

funktioniert gut für Angular2 Typoskript Sonar-Plugin als auch. https://github.com/Pablissimo/SonarTsPlugin

Verwandte Themen