VSTS Coder Coverage не показывает отчет HTML - PullRequest
1 голос
/ 03 апреля 2019

Я пытаюсь настроить VSTS Build для запуска наших интеграционных тестов и создания HTML-отчета о покрытии кода. Для этого я использую плагин Coverlet и ReportGenerator. Вот как я сейчас сконфигурировал мою сборку:

    pool:
  name: Hosted VS2017
  demands:
  - msbuild
  - visualstudio

steps:
- task: NuGetToolInstaller@0
  displayName: 'Use NuGet 4.7.1'
  inputs:
    versionSpec: 4.7.1

- task: NuGetCommand@2
  displayName: 'NuGet restore'
  inputs:
    restoreSolution: '$(Parameters.solution)'

- task: VSBuild@1
  displayName: 'Build solution'
  inputs:
    solution: '$(Parameters.solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"'
    platform: '$(BuildPlatform)'
    configuration: '$(BuildConfiguration)'

- task: DotNetCoreCLI@2
  displayName: 'Run Integration Tests'
  inputs:
    command: test
    arguments: '-c $(BuildConfiguration)  /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura /p:CoverletOutput=$(Build.SourcesDirectory)\TestResults\Coverage\ --no-build'

- task: Palmmedia.reportgenerator.reportgenerator-build-release-task.reportgenerator@1
  displayName: ReportGenerator
  inputs:
    reports: '$(Build.SourcesDirectory)\TestResults\Coverage\coverage.cobertura.xml'
    targetdir: '$(Build.SourcesDirectory)\coveragereport'

- task: PublishCodeCoverageResults@1
  displayName: 'Publish code coverage results'
  inputs:
    codeCoverageTool: Cobertura
    summaryFileLocation: '$(Build.SourcesDirectory)\coveragereport\Cobertura.xml'
    reportDirectory: '$(build.sourcesdirectory)\src\target\reports\coverage'

- task: PublishSymbols@1
  displayName: 'Publish symbols path'
  inputs:
    SearchPattern: '**\bin\**\*.pdb'
  continueOnError: true

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact'
  inputs:
    PathtoPublish: '$(build.artifactstagingdirectory)'
    ArtifactName: '$(Parameters.ArtifactName)'

Я не уверен, где я делаю ошибку, но сборка завершается без ошибок, и все же я не вижу ничего на вкладке покрытия кода. Не могли бы вы объяснить, что мне не хватает?

1 Ответ

1 голос
/ 04 апреля 2019

Хорошо. Я наконец-то смог решить проблемы с помощью этого поста

https://www.meziantou.net/2019/02/18/computing-code-coverage-for-a-net-core-project-with-azure-devops-and-coverlet

Оказывается, если вы очень внимательно прочитаете, то "Целевой каталог" шага «Генератор отчетов» должен соответствовать «Каталог отчетов» задачи «Опубликовать результаты CodeCoverage».Если вы посмотрите на мой оригинальный вопрос, они отличались, потому что мое понимание было неверным.Как только я исправил пути, покрытие кода стало отображаться на вкладке покрытия кода сборки.Надеюсь, это поможет кому-то столкнуться с той же проблемой.

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