在TFS 2015构建摘要中显示OpenCover结果

5

作为CI构建的一部分,我在TFS服务器上使用vNext 2015构建定义生成了我的xml覆盖率文件。如何在TFS 2015摘要中显示结果?可以使用xml报告或使用ReportGenerator生成的html。


你目前尝试了什么?我看到有一种方法可以更改TFS2012,因此我认为类似的东西也存在于TFS2015中(http://blogs.msdn.com/b/buckh/archive/2012/06/07/how-to-customize-the-build-summary-page-in-tfs-2012-without-a-plug-in.aspx)。 - Shaun Wilde
@Orn Kristjansson,为什么你选择使用OpenCover来生成代码覆盖率结果?你可以直接使用“启用代码覆盖率”选项来生成代码覆盖率结果。请查看我的回复。 - Vicky - MSFT
我有xUnit测试,但是mstest运行器不支持无影复制,也不支持在运行xUnit测试时进行代码覆盖。 - Orn Kristjansson
4个回答

3
你需要将OpenCover生成的结果转换为TFS可以解析的格式。 一种方法是使用OpenCoverToCoberturaConverter NuGet包。 一旦你有了它,你就可以使用“发布代码覆盖率结果”构建步骤。 我在我的博客上描述了整个过程。

1
在“TFS 2015 - Update 2”中,您可以编写自己的vsts扩展来实现此功能(请参见此处:https://www.visualstudio.com/en-us/docs/integrate/extensions/overview)。
我为构建此.vsix的自己的“学习项目”设置了一个链接:https://github.com/RobertK66/vsts-opencover
我的自定义构建步骤使用nunit3控制台运行器,在opencover下执行测试。 我成功通过REST接口上传了OpenCover xml结果文件作为“testrun-attachment”,并将其放置在构建摘要选项卡和其自己的扩展“build-results-view”的摘要值上。
这个第一个版本的基础是MS在Github上提供的许多示例:https://github.com/Microsoft/vsts-taskshttps://github.com/Microsoft/vsts-extension-samples

为了初步了解可以扩展/定制的TFS Web Portal上的位置,您可以从Visual Studio Marketplace下载并安装此扩展https://aha.gallery.vsassets.io/items?itemName=ms-samples.samples-contributions-guide

希望这能帮助您入门。


0

1
OP正在询问如何使用OpenCover进行代码覆盖率测试(请参见标签),并将结果显示在摘要中。 - Shaun Wilde
上面的链接与XAML构建相关,新构建将显示在Web门户中。现在找不到在网页中自定义摘要的方法。 - PatrickLu-MSFT
现在你难道不能实现这个吗?链接 - Christian.K
@Christian.K 感谢提供链接。这是一个旧问题,2015年已不再适用。自从vsts扩展发布以来,这个问题得到了解决。这些解决方案之间互不干扰。milosz 也提供了一个很好的解决方案。稍后会更新或删除答案。 - PatrickLu-MSFT

-3

不必使用OpenCover扩展,您可以通过以下方式非常方便地生成代码覆盖率结果并将其包含在构建摘要页面中:

选择Visual Studio测试步骤,勾选启用代码覆盖率选项。 enter image description here

然后,代码覆盖率结果将显示在构建摘要页面上: enter image description here


我有 xUnit 测试,但 mstest runner 不支持无影子复制,也不能在运行 xUnit 测试时提供代码覆盖率的支持。 - Orn Kristjansson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接