我有一个VSTS构建代理的问题,因为当我在本地运行它时,我似乎无法生成代码覆盖信息。构建计划是默认的:获取源代码,构建,执行测试程序集,创建构建工件等。在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
包。
我的问题是:我应该在我的设置中修改哪些内容以启用本地构建代理的代码覆盖率信息?
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等,但您需要自己配置这些工具。
我与微软进行了双重检查。 Visual Studio测试代理是Visual Studio Test Professional和Visual Studio Enterprise的插件,并根据这两个SKU /订阅获得许可。
Visual Studio Enterprise是唯一受支持的SKU /订阅,它允许您深入查看测试结果并理解它们,而不是聚合数字。