为什么TFS代理找不到VSTEST能力?

5
我们拥有TFS 2015服务器和一个安装了Visual Studio 2017 Ultimate的构建服务器。但是,TFS代理无法检测到VisualStudio或VsTest的功能(应该可以),即使手动添加,仍然存在问题。
当涉及到Visual Studio测试步骤时,控制台会显示以下错误并失败:
c:\AgentTest\tasks\VSTest\1.0.30\VSTest.ps1 
Unable to determine the location of vstest.console.exe

我手动添加了以下功能:

VisualStudio C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise VisualStudio_15.0 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise

VisualStudio_IDE C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE

VisualStudio_IDE_15.0 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE

VS150COMNTOOLS C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\

VSTest C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow

VSTest_15.0 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow

这是我的Visual Studio测试设置:enter image description here
1个回答

4
我可以复现这个问题,TFS 2015代理无法识别VStest和一些其他与2017相关的功能。
根据测试,TFS 2015不应支持2017 VStest。
根据这个Github讨论,核心问题似乎是需要更新Visual Studio Test任务以支持VS 2017。
在TFS 2017和VSTS中,我们可以指定vstest.console.exe的绝对路径来让它工作(详见this article),但在TFS 2015中,我们不能在任务中指定路径,它不支持。
因此,如果您想使用Vstest,可以安装VS 2015或升级到TFS 2017或更高版本。

参考相似的帖子:https://social.msdn.microsoft.com/Forums/vstudio/en-US/1f9992f3-20b6-437a-855d-ccd67ff2298e/using-tfs-2015-with-build-agent-and-visual-studio-2017?forum=tfsadmin


如果您在运行TFS 2015与VS 2017时遇到此问题,只需安装VS 2015并重新启动服务即可。 - kolexinfos
这对我来说已经是一个长期存在的问题了。自2015年以来,TFS的每个版本都无法检测到最新Visual Studio的VSTest功能。每次我添加新的测试框或升级现有的框时,我都必须手动添加该功能。 - Jereme

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