/ / Połącz raport InspectCode (Resharper) i kod OpenCover do Sonar Qube Build - sonarqube, teamcity, resharper, jetbrains, opencover

Połącz raport InspectCode (Resharper) i kod OpenCover z Sonar Qube Build - sonarqube, teamcity, resharper, jetbrains, opencover

Używamy wtyczki InspectCode-Resharper do generowania raportu analizy kodu C # i raportu Opencover dla pokrycia kodu (przypadki testów jednostkowych).

Są to dwie komendy uruchamiane jedna po drugiej w Teamcity. Kiedy generujemy raport analizy Resharpera i naciskamy na sonar sonaru, tracimy raport o zasięgu kodu.

Pytanie brzmi: jak połączyć obie komendy w jeden skrypt lub połączyć wyjście dwóch poleceń.

Są to polecenia, które wykonujemy.

Polecenie OpenCover:

F:BuildSystemDependenciesSonarOpenCover4.5.3522OpenCover.Console.exe -register:user -target:F:BuildSystemDependenciesNUnitnunit-console-x86.exe -targetargs:"F:BuildsSonarHelix_Sonar_EsdPaymentsBpayUnitTestsbinDebugDummyProject.UnitTests.dll /noshadow" -excludebyattribute:"*.ExcludeFromCodeCoverage*|*.GeneratedCode*" -filter:"+[DummyProject*]* +[App.*]* -[*Tests*]*" -hideskipped:All -mergebyhash -output:coverage-report.xml

InspectCode Comamnd

D:sonarMSBuild.SonarQube.Runner-1.0MSBuild.SonarQube.Runner.exe begin /k:"dummy_project" /n:"dummy_project" /v:"sonarqube_project_version" /d:sonar.resharper.cs.reportPath="c:resharper.xml" /d:sonar.resharper.solutionFile="dummyproject.sln"

"C:Program Files (x86)MSBuild14.0Binmsbuild" "D:CommSee2010NeonwwwrootAppsdummyprojectdevdummyproject.sln"

"d:sonarjetbrains-commandline-toolsinspectcode.exe" /output="c:resharper.xml" "D:CommSee2010NeonwwwrootAppsdummyprojectdevdummyproject.sln"

D:sonarMSBuild.SonarQube.Runner-1.0MSBuild.SonarQube.Runner.exe end

OSTATECZNE ROZWIĄZANIE:

"D:sonarMSBuild.SonarQube.Runner-2.0MSBuild.SonarQube.Runner.exe" begin /k:"OFI.CS" /n:"OFI.CS" /v:"1" /d:sonar.cs.opencover.reportsPaths="D:sonaroutputofi.Report.opencover.xml" /d:sonar.cs.nunit.reportsPaths="D:sonaroutputTestResult.xml" /d:sonar.resharper.cs.reportPath="D:sonaroutputofi.Report.xml" /d:sonar.resharper.solutionFile="D:hxwwwrootappstestdevtest.sln"

"C:Program Files (x86)MSBuild12.0BinMSBuild.exe" "D:hxwwwrootappstestdevtest.sln"

"C:Program Files (x86)OpenCoverOpenCover.Console.exe" -register:user -target:"C:Program Files (x86)NUnit 2.6.4binnunit-console-x86.exe" -targetargs:"D:hxwwwrootappstestdevUnitTestsbinDebugUnitTests.dll /noshadow /xml:D:sonaroutputTestResult.xml" -filter:"" -mergebyhash -output:"d:sonaroutputofi.Report.opencover.xml"

"D:sonarresharperinspectcode.exe" /output="D:sonaroutputofi.Report.xml" /profile="D:hxwwwrootappstestdevtest.sln.DotSettings" "D:hxwwwrootappstestdevtest.sln"

"D:sonarMSBuild.SonarQube.Runner-2.0MSBuild.SonarQube.Runner.exe" end

Odpowiedzi:

2 dla odpowiedzi № 1

Musisz przesłać plik wyjściowy OpenCover do sonaru np.

/d:sonar.cs.opencover.reportsPaths="coverage-report.xml"