我在让我的代码覆盖率报告工作,或者更确切地说,让DevOps正确地传递我的参数时遇到了问题。如果我下载构建目录(压缩在构建中),ReportGenerator报告是可用的,但它们不会被发布。所以我知道这部分至少是有效的。:)
但是,当publish步骤运行时,它会创建新的报告并使用这些报告。我的Yaml文件如下:
## Generate Reports
- task: Palmmedia.reportgenerator.reportgenerator-build-release-task.reportgenerator@4
displayName: Generate Code Coverage Reports
inputs:
reports: '**\coverage.cobertura.xml'
targetdir: 'results'
reporttypes: 'HTML;HtmlInline_AzurePipelines;Badges;Cobertura'
assemblyfilters: '-*tests*'
continueOnError: true
# Publish Code Coverage Reports
- task: PublishCodeCoverageResults@1
displayName: Publish Code Coverage Results
inputs:
disable.coverage.autogenerate: true
summaryFileLocation: $(Build.SourcesDirectory)\results\cobertura.xml
reportDirectory: $(Build.SourcesDirectory)\results
codecoverageTool: cobertura
continueOnError: true但是,当我在Debug中运行时,我得到以下输出:
##[debug]disable.coverage.autogenerate=undefined我尝试了以下选项来传递此参数:
disable.coverage.autogenerate: true
disable.coverage.autogenerate: 'true'
disable.coverage.autogenerate: 1他们中没有一个人成功地将任何内容传递给任务。
如果不设置此标志,该任务将覆盖由ReportGenerator生成的HTML报告,并输出以下内容:
##[warning]Ignoring coverage report directory with Html content as we are auto-generating Html content我的工作是基于Daniel Palme (ReportGenerator的作者) here粘贴的信息,以及阅读任务here的实际代码。
我的源代码是开源的,所以如果日志或更多信息能帮助你提供答案,那就完全是available here。具有良好日志的构建是here。Yaml文件是here,并从项目中的其他各种存储库中调用。
任何关于如何解决这个问题的建议都将不胜感激。
发布于 2019-07-03 04:10:47
好吧,在标准的操作程序中,感到恼火,在Stack Overflow上写一篇长篇文章,在某个地方找到一个金块,然后解决你自己的问题。
它不是一个参数,而是一个需要设置的环境变量。将以下内容添加到Yaml文件的开头即可解决此问题。
variables:
disable.coverage.autogenerate: 'true'留在这里是为了拯救下一个被困在这个问题上的人解决问题的日子。:/
https://stackoverflow.com/questions/56859264
复制相似问题