【发布时间】:2018-04-16 14:26:26
【问题描述】:
我在构建定义中有一个 VsTest 任务,它会生成一个 .coverage 文件,可以使用“下载代码覆盖结果”链接下载该文件。然后我使用ReportGenerator 从中创建HTML 报告。效果很好。
现在我想添加一个脚本任务来在服务器上运行 ReportGenerator,但我无法弄清楚如何实际引用 .coverage 文件。每次运行都不同,路径如下:
"C:\agent\_work\1\s\TestResults\0195053f-05f0-40a5-bfae-a0215dd0af80\WIN-JQJJSGM4KOU$_WIN-JQJJSGM4KOU 2018-04-13 06_50_42.coverage"
路径的第一部分似乎是$(Common.TestResultsDirectory),但0195053f-05f0-40a5-bfae-a0215dd0af80 是什么?可能是一个身份,但是是哪一个?
Microsoft 有一个不错的 Build Variables page,我稍后会详细介绍,但希望有人已经弄清楚了。
【问题讨论】:
-
您应该能够使用 REST API 为每个构建获取此文件的路径。如果你这样做,动态部分就无关紧要了。您可以获取路径,然后将其传递给您的报告生成器。我会从那里开始。
-
@tehbeardedone 不知道怎么做,但听起来很有希望。会试一试。谢谢。
-
如果我有更多时间,我会举个例子。您可能需要先发布结果,然后您应该能够使用 REST API 获取构建工件。我不记得具体怎么做,但我知道可以做到。自从我不得不这样做已经有一段时间了,但我曾经使用 dotcover 来生成覆盖率报告,然后我会使用 API 拉下该文件并将其转换为我需要的格式。我非常有信心它可以做到,您可能需要挖掘一下才能弄清楚。
-
你解决了这个问题吗?
-
部分。写了一些 ps,并了解了更多关于 VSTS 的知识,但还没有时间将它们整合到一个工作解决方案中,以便在 VSTS 构建定义中生成覆盖率报告。
标签: azure-devops code-coverage azure-pipelines