В ReportGenerator отсутствует вкладка «Покрытие кода» (сервер Azure DevOps 2019.0.1) - PullRequest
0 голосов
/ 04 июля 2019

Я выполняю шаги Вычисление покрытия кода для проекта .NET Core с помощью Azure DevOps и Coverlet .

Выполните сборку, как ожидалось, и каждый шаг заканчивается успешно.

Build results

Artefact-Explorer показал загруженный отчет, и в итоге я получил результат покрытия кода.

CodeCoverage result

Но я пропустил вкладку Кодовое покрытие рядом с вкладкой Тесты , чтобы просмотреть подробный отчет.

Конфигурация YAML:

- task: NuGetToolInstaller@0

  displayName: 'Use NuGet 5.0.2'

  inputs:

    versionSpec: 5.0.2
    checkLatest: true


- task: NuGetCommand@2

  displayName: 'NuGet restore'

  inputs:

    restoreSolution: '$(Parameters.solution)'


- task: VSBuild@1

  displayName: 'Projektmappe **\*.sln erstellen'

  inputs:

    solution: '$(Parameters.solution)'  
    platform: '$(BuildPlatform)'
    configuration: '$(BuildConfiguration)'


- task: VisualStudioTestPlatformInstaller@1

  displayName: 'Installer für Visual Studio Test-Plattform'
  enabled: false



- task: VSTest@2

  displayName: 'VsTest - testAssemblies'

  inputs:

    testAssemblyVer2: |
     **\$(BuildConfiguration)\*test*.dll
     !**\obj\**

    codeCoverageEnabled: true
    platform: '$(BuildPlatform)'
    configuration: '$(BuildConfiguration)'



- powershell: ./'D:\AzureDevOpsData\Skripte\PowerShell\CodeCoverage.ps1'

  displayName: 'PowerShell Test Code Coverage'



- task: Palmmedia.reportgenerator.reportgenerator-build-release-task.reportgenerator@4

  displayName: ReportGenerator

  inputs:

    reports: coverage.cobertura.xml
    targetdir: '$(Build.SourcesDirectory)/CodeCoverage'



- task: PublishCodeCoverageResults@1

  displayName: 'Code Coverage veröffentlichen von $(Build.SourcesDirectory)/CodeCoverage/Cobertura.xml'

  inputs:

    codeCoverageTool: Cobertura
    summaryFileLocation: '$(Build.SourcesDirectory)/CodeCoverage/Cobertura.xml'
    reportDirectory: '$(Build.SourcesDirectory)/CodeCoverage'

Сценарий PowerShell содержит:

#TEST CSPROJ
$csproj = "FrameworkA_Tests"

#SEARCH TEST CSPROJ.DLL
"`nrun tests:"
$unitTestFile = gci -Recurse | ?{ $_.FullName -like "*bin\*$csproj.dll" }
Write-Host "`$unitTestFile value: $unitTestFile"

#GET COVERLET.EXE
$coverlet = "D:\AzureDevOpsData\Tools\coverlet\coverlet.exe"

#RUN COVERLET.EXE
"calling $coverlet for $($unitTestFile.FullName)"
&$coverlet $unitTestFile.FullName --target "dotnet" --targetargs "vstest $($unitTestFile.FullName) --logger:trx" --format "cobertura"

Я что-то забыл?

Ответы [ 2 ]

0 голосов
/ 05 июля 2019

В ReportGenerator отсутствует вкладка "Покрытие кода" (сервер Azure DevOps 2019.0.1)

Это должно быть известной проблемой в сообществе разработчиков:

Отсутствует вкладка покрытия кода на сервере DevOps Azure

Ответ команды MS: Исправление для этой проблемы было реализовано внутри и готовится к выпуску.

В качестве обходного пути вы можете попробовать метод, предложенный jingzhu yan:

вы можете добавлять файлы копирования и публиковать шаги результатов сборки, тогда вы можете скачать файл результатов покрытия от Artifacts.

enter image description here

enter image description here

Надеюсь, это поможет.

0 голосов
/ 04 июля 2019

Пожалуйста, попробуйте включить «Доски» в настройках проекта:

Project settings

Эта проблема была исправлена ​​для Azure DevOps , но все еще может существовать на Azure DevOps Server .

См: https://developercommunity.visualstudio.com/content/problem/385331/code-coverage-results-not-rendered-in-build-result.html https://developercommunity.visualstudio.com/content/problem/398209/build-results-tab-code-coverage-does-not-show-up.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...