Sonarqube не показывает результаты покрытия - PullRequest
0 голосов
/ 04 февраля 2020

Я пытаюсь сгенерировать результаты покрытия кода в Sonarqube. Я использую Teamcity, где у меня есть 4 шага, во-первых, запустить sonar %SonarScanner_MSBuild_Executable% begin /k:"%SonarScanner_Project%" /n:"%SonarScanner_Project%" /v:"%build.vcs.number%" /d:sonar.cs.opencover.reportsPaths="%system.teamcity.build.tempDir%/AppCoverageReport.xml" /d:sonar.verbose=true

Второй шаг - это построить решение, и я использую MSbuild для построения своего решения. Третий шаг - запустить мои тесты, Я использую Nunit и для покрытия использую Dotover Jetbrains, и в дополнительных аргументах, которые я указал для генерации отчета /Output=%system.teamcity.build.tempDir%/AppCoverageReport.xml /ReportType=XML

, и мой последний шаг - закончить сканер сонара %SonarScanner_MSBuild_Executable% end

Я могу видеть генерируемый AppCoverageReport xml, но Teamcity завершается с ошибкой на последнем шаге с ошибкой [Шаг 4/4] ОШИБКА: Ошибка во время выполнения сканера SonarQube org.sonar.plugins.do tnet .tests.ParseErrorException : Отсутствует root элемент в C: \ BuildAgent \ temp \ buildTmp \ AppCoverageReport. xml в строке 2 в org.sonar.plugins.do tnet .tests.XmlParserHelper.parseError (XmlParserHelper. java: 157) в org.sonar.plugins.do tnet .tests.XmlParserHelper.checkRootTag (XmlParserHelper. java: 59) в org.sonar.plugins.do tnet .tests.OpenCoverReportParser $ Parser.parse (OpenCove rReportParser. java: 61) в org.sonar.plugins.do tnet .tests.OpenCoverReportParser.accept (OpenCoverReportParser. java: 44) в org.sonar.plugins.do tnet .tests.OpenCoverReportParser. принять (OpenCoverReportParser. java: 32) в org.sonar.plugins.do tnet .tests.CoverageCache.readCoverageFromCacheOrParse (CoverageCache. java: 39) в org.sonar.plugins.do tnet .tests. CoverageAggregator.aggregate (CoverageAggregator. java: 132) в org.sonar.plugins.do tnet .tests.CoverageAggregator.aggregate (CoverageAggregator. java: 110) в org.sonar.plugins.do tnet. tests.CoverageReportImportSensor.analyze (CoverageReportImportSensor. java: 83) в org.sonar.plugins.do tnet .tests.CoverageReportImportSensor.execute (CoverageReportImportSensor. java: 79) в org.or. .analyse (AbstractSensorWrapper. java: 48) в org.sonar.scanner.sensor.ModuleSensorsExecutor.execute (ModuleSensorsExecutor. java: 85) в org.sonar.scanner.sensor.ModuleSensorsExecutor.execute (ModuleSensorsExource). 38 *: 62) в org.sonar.scanner.scan.ModuleScanContainer.doAfterStart (ModuleScanContainer. java: 82) в org.sonar.core.platform.ComponentContainer.startComponents (ComponentContainer. java: 136) в org. sonar.core.platform.ComponentContainer.execute (ComponentContainer. java: 122) в org.sonar.scanner.scan.ProjectScanContainer.scan (ProjectScanContainer. java: 359) в org.sonar.scanner.scan.ProjectScanContain. scanRecursively (ProjectScanContainer. java: 354) в org.sonar.scanner.scan.ProjectScanContainer.doAfterStart (ProjectScanContainer. java: 317) в org.sonar.core.platform.ComponentContainer.startComponents: 10ent. 136) в org.sonar.core.platform.ComponentContainer.execute (ComponentContainer. java: 122) в org.sonar.scanner. bootstrap .GlobalContainer.doAfterStart (GlobalContainer. java: 128) в org.sonar .core.platform.ComponentContainer.startComponents (ComponentContainer. java: 136) в org.sonar.core.platform.ComponentContainer.execute (ComponentContainer. java: 122) в org.so nar.batch.bootstrapper.Batch.doExecute (Batch. java: 73) в org.sonar.batch.bootstrapper.Batch.execute (Batch. java: 67) в org.sonarsource.scanner.api.internal. batch.BatchIsolatedLauncher.execute (BatchIsolatedLauncher. java: 46) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (собственный_возвратный доступ). invoke (DelegatingMethodAccessorImpl. java: 43) в java .lang.reflect.Method.invoke (Method. java: 497) в org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke (IsolatedLauncherProxy *). *: 60) на com.sun.proxy. $ Proxy0.execute (Неизвестный источник) на org.sonarsource.scanner.api.EmbeddedScanner.doExecute (EmbeddedScanner. java: 185) на орг. sonarsource.scanner.api.EmbeddedScanner.execute (EmbeddedScanner. java: 137) в org.sonarsource.scanner.cli.Main.execute (Main. java: 111) в org.sonarsource.scanner.cli.Main. выполнить (Main. java: 75) в org.sonarsource.scanner.cli.Main.main (Main. java: 61) Сканер SonarQube не завершился успешно

...