Azure 管道错误“报告文件模式 '/home/vsts/work/1/s/**/coverage.cobertura.xml' 找不到匹配的文件。”

问题描述 投票:0回答:1

我正在 Azure Devops 上开发测试管道。

我遇到错误,但我不知道如何修复它。

错误是

"The report file pattern '/home/vsts/work/1/s/**/coverage.cobertura.xml' found no matching files."

这是我的 yaml 文件:

pool:
  name: Azure Pipelines
steps:
- task: UseDotNet@2
  displayName: 'Use .NET Core sdk 8.x'
  inputs:
    version: 8.x

- task: DotNetCoreCLI@2
  displayName: 'dotnet restore'
  inputs:
    command: restore

- task: DotNetCoreCLI@2
  displayName: 'dotnet build'

- task: DotNetCoreCLI@2
  displayName: 'dotnet test'
  inputs:
    command: test
    arguments: '--collect:"XPlat Code Coverage"'

- task: DotNetCoreCLI@2
  displayName: 'Install ReportGenerator'
  inputs:
    command: custom
    custom: tool
    arguments: 'install --global dotnet-reportgenerator-globaltool'

- task: Palmmedia.reportgenerator.reportgenerator-build-release-task.reportgenerator@5
  displayName: ReportGenerator
  inputs:
    reports: '$(System.DefaultWorkingDirectory)/**/coverage.cobertura.xml' #Here is incorrect.
    targetdir: '$(Build.DefaultWorkingDirectory)/CodeCoverage'

- task: PublishCodeCoverageResults@1
  displayName: 'Publish code coverage results'
  inputs:
    codeCoverageTool: Cobertura
    summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/Cobertura.xml'

我不确定这里发生了什么。有人有什么想法吗?

azure-devops continuous-integration azure-pipelines
1个回答
0
投票

“报告文件模式 '/home/vsts/work/1/s/**/coverage.cobertura.xml' 未找到匹配的文件。”

问题的原因是,coverage.cobertura.xml 文件将在文件夹中创建:

$(Agent.TempDirectory)
,而不是
$(System.DefaultWorkingDirectory)

要解决这个问题,可以设置路径:

$(Agent.TempDirectory)/**/coverage.cobertura.xml

例如:

- task: Palmmedia.reportgenerator.reportgenerator-build-release-task.reportgenerator@5
  displayName: ReportGenerator
  inputs:
    reports: '$(Agent.TempDirectory)/**/coverage.cobertura.xml' 
    targetdir: '$(Build.DefaultWorkingDirectory)/CodeCoverage'

更详细的信息,可以参考我的另一个答案:直接在Azure Pipelines中可视化.net核心代码覆盖率

© www.soinside.com 2019 - 2024. All rights reserved.