2016-07-16 40 views
1

Ich habe einen Atlassian Bamboo Plan, der sich auf mein C# Projekt bezieht. Die konfigurierten Aufgaben lauten wie folgt:SonarQube Projekt nicht Code Coverage als leer, wenn in Atlassian Bamboo integriert

a) MSBuild-Task zum Erstellen meiner C# -Lösungsdatei. b) NUnit Runner- und NUnit Parser-Tasks zum Ausführen der Komponententests. c) OpenCover-Task zum Ausführen der NUnit Unit-Tests und Generieren der Metriken wie abgedeckte Linien, Filialabdeckung usw. d) SonarQube Runner-Task zum Generieren der Code-Coverage-Metriken im SonarQube-Projekt.

Die Metriken werden erfolgreich in Schritt c) generiert, und die Ergebnisse werden als Ausgabe des OpenCover-Befehls in die .xml-Datei geschrieben. Aber nach Schritt d) wird SonarQube Runner erfolgreich ausgeführt und zeigt die Ergebnisse des Sonar-Projekts in Bezug auf Anzahl der Komponententests, Tests bestanden, Tests übersprungen, Tests fehlgeschlagen. Die Spalte "Code Coverage" wird jedoch als "-" leer angezeigt.

Bitte beachten Sie, dass meine C# -Lösung als mehrere Projekte und ich habe die sonar-project.properties-Datei auf der Stamm- (Lösung) Ebene. ich folgende Sonar-project.properties Datei:

sonar.projectKey=<KeyName> (Key name of C# project in SonarQube) 
sonar.projectName=<ProjectName> (Project name in SonarQube) 
sonar.projectVersion=1.0 
sonar.sources=. 
sonar.language=cs 
sonar.cs.nunit.reportsPaths=ABC.xml(Output of Nunit task) 
sonar.cs.opencover.reportsPath=XYZ.xml(Output of OpenCover task) 

Bitte leitet mich in dieser Hinsicht wird jede Hilfe sehr dankbar.

Dank

+0

Sind die Berichtswege korrigieren in Ihrer Linie falsch geschrieben - es kann nicht die gleiche sein Datei für beide? Wenn ja, haben Sie Abdeckungsinformationen in der OpenCover-Ausgabedatei? Ich hatte Sonar arbeiten sowohl lokal gehostet und gegen nemo.sonarsource.org - siehe Beitrag https://blog.many-monkeys.com/improving-your-source-code/ –

+0

@ShaunWilde: Ja, ich habe zwei verschiedene Ausgabedateinamen für NUnit- und Open Cover-Aufgaben. Ich bin auch in der Lage, die Open-Cover-Ausgabe wie Zeilenüberdeckung, Branch Coverage usw. in XYZ.xml-Datei zu sehen. Aber wenn ich den SonarQube Runner-Task (v 2.4) in Bamboo ausführe, zeigt er nicht an, dass die Spalte "Code Coverage" im SonarQube-Bericht ausgefüllt und als "-" angezeigt wird. Alle anderen Spalten wie Anzahl der bestandenen Tests, fehlgeschlagene Tests sind jedoch gut gefüllt. Also bin ich mir nicht sicher, ob mir irgendwelche Zeilen in der Sonar-Projekt-Eigenschaftendatei fehlen? Sollte ich eine .bat-Datei für die Sonar Runner-Aufgabe verwenden? – Vineet

+0

Ich verwendete - https://github.com/SonarSource-VisualStudio/sonar-scanner-msbuild/releases - in meinem Build-Skript - Sie können ein Beispiel für seine Verwendung hier https://github.com/MYOB-Technology/ sehen AccountRight_Live_API_.Net_SDK/Blob/Master/Sonar.bat –

Antwort

0

Sehr spät Antwort, aber es könnte jemand in der Zukunft helfen:

Sie reportsPaths

sonar.cs.opencover.reportsPath=XYZ.xml