我在VSTS build agent上遇到问题,因为在本地运行时似乎无法从中生成代码覆盖率信息。构建计划是默认的构建计划:获取源代码,构建,执行测试程序集,创建构建工件等。在Test assemblies step
中,选中Code coverage enabled
复选框。
当我使用Hosted VS2017
代理执行它时,Code coverage
选项卡显示了一个下载结果的链接,并且相关的图表也可以显示该数据。
我downloaded and installed VSTS main page
-Project settings
-Agent pools
的构建代理。安装后,我使用该队列进行构建。它构建良好,但是Code coverage
标签显示以下消息:
没有代码覆盖率数据。
通过构建管道中使用的测试框架(例如JUnit,Visual Studio Test或xUnit)启用代码覆盖。
如果有问题,我使用xUnit
,在测试项目中引用xunit.runner.visualstudio
包。
我的问题是:我应该在我的设置中进行哪些修改才能为本地构建代理启用代码覆盖率信息?
答案 0 :(得分:1)
Hosted Agent has Visual Studio Enterprise installed。 Visual Studio Enterprise是使用VsTest收集代码覆盖率的先决条件。
Visual Studio功能矩阵: https://visualstudio.microsoft.com/vs/compare/
如果您的本地系统未安装Visual Studio Enterprise,则该计算机上就没有使用Visual Studio工具收集代码覆盖率所需的位或所需的许可证(即使您将这些位放在了计算机上)通过其他方式(例如安装测试代理)来安装计算机。
您可以自由使用其他覆盖工具,例如dotCover,Clover等,但是您需要自己配置这些工具。
我与Microsoft进行了核对。 Visual Studio测试代理是Visual Studio Test Professional和Visual Studio Enterprise的附加组件,并根据这两个SKU / Subscription获得许可。
Visual Studio Enterprise是唯一受支持的SKU / Subscription,它使您可以向下钻取测试结果并理解它们,而不是合计数字。