我有一些运行的测试,并生成一个report.xml。任务:发布任务结果
显示失败、通过等任务的可视化表示。
但是,我也希望获得代码覆盖率结果。但我收到以下警告,并且没有看到任何代码覆盖率信息。我还看到该工件已生成,但没有覆盖信息。
我的担忧:(1) 测试后存储库中是否已经存在包含覆盖率信息的单独文件?
(2) 任务 PublishCodeCoverageResults@1
未从 testreport.xml 生成覆盖率?我的理解正确吗?
最佳答案
PublishCodeCoverageResults 任务用于发布构建中的 Cobertura 或 JaCoCo 代码覆盖率结果。它不会生成覆盖范围,而是将现有文件发布到构建工件页面。 SummaryFileLocation 用于指定包含代码覆盖率统计信息的摘要文件的路径。因此,在您的问题中,在管道启动之前,该文件应该位于“$(system.DefaultWorkingDirectory)/build/test/report.xml”中。 (您可以将其视为类似 JaCoCo 格式的模板摘要,构建运行后,结果应更新文件并将其发布到工件中)
供您引用,如果您已经从以前的构建任务生成了报告文件(代码覆盖率 HTML 报告),您可以直接在任务中使用 reportDirectory 。 这是official doc了解更多详情。
关于azure - 发布有关 AzureDevops 失败的测试覆盖率报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74402973/