【发布时间】:2020-05-20 08:55:56
【问题描述】:
我在 Azure DevOps 中为我的一个 ASP.NET MVC 应用程序创建了一个构建管道。存在用于单元测试的项目,我需要生成代码覆盖率报告,为此我使用了coverlet.msbuild NuGet包和“ReportGenerator”。
以下是其中一个单元测试项目的packages.config文件:
<packages>
<package id="coverlet.msbuild" version="2.8.0" targetFramework="net461" developmentDependency="true" />
<package id="NUnit" version="2.6.3" targetFramework="net45" />
<package id="ReportGenerator" version="4.4.6" targetFramework="net461" />
</packages>
另外,请在构建管道中找到构建解决方案、测试程序集和 ReportGenerator 任务的 yaml:
构建解决方案:
steps:
- task: VSBuild@1
displayName: 'Build solution **\SmartStoreNET.sln'
inputs:
solution: '**\SmartStoreNET.sln'
msbuildArgs: '/p:CollectCoverage=true /p:CoverletOutputFormat=cobertura'
测试程序集
steps:
- task: VSTest@2
displayName: 'Test Assemblies'
inputs:
testAssemblyVer2: |
**\$(BuildConfiguration)\*test*.dll
!**\obj\**
codeCoverageEnabled: true
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
报告生成器
steps:
- task: Palmmedia.reportgenerator.reportgenerator-build-release-task.reportgenerator@4
displayName: ReportGenerator
inputs:
reports: '$(Build.SourcesDirectory)/tests/**/coverage.cobertura.xml'
targetdir: '$(Build.SourcesDirectory)/CodeCoverage'
reporttypes: 'HtmlInline_AzurePipelines;Cobertura;Badges'
在执行管道时,我在 ReportGenerator 任务中遇到以下错误:
报告文件模式“d:\a\1\s/tests/**/coverage.cobertura.xml”无效。找不到匹配的文件。
任何人都可以建议这里缺少什么,或者可能是什么潜在问题。
对此的任何帮助将不胜感激。
谢谢,
尼尔曼
【问题讨论】:
-
只是检查提供的信息是否有用。如果您需要进一步的帮助,请告诉我们。
标签: nunit code-coverage azure-pipelines cobertura reportgenerator