VSTS Coder Coverage 未显示 HTML 报告

VSTS Coder Coverage is not showing HTML report

我正在尝试将 VSTS 构建配置为 运行 我们的集成测试并生成代码覆盖率 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)'

我不确定我在哪里犯了错误,但构建似乎没有任何错误就完成了,但我仍然没有在代码覆盖率选项卡中看到任何内容。你能解释一下我错过了什么吗?

好的,我终于能够借助这个 post

解决问题

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

如果您仔细阅读,那么报告生成器步骤的 "Target Directory" 需要匹配 "Report Directory" 发布 CodeCoverage 结果任务。如果您查看我最初的问题,它们会有所不同,因为我的理解不正确。修复路径后,代码覆盖率开始显示在构建代码覆盖率选项卡中。希望它能帮助面临同样问题的人。