【发布时间】:2012-09-04 12:23:05
【问题描述】:
我已将 Jenkins MSTestRunner 插件配置为使用 MSTest 可执行文件的以下路径:'C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\mstest.exe'。但是,虽然这条路径是正确的,但是构建失败如下:
cmd.exe /C "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\mstest.exe" "/resultsfile:/resultsfile testresults" /testcontainer:Project.Tests/bin/Debug/Project.Tests.dll && exit %%ERRORLEVEL%%
'C:\Program' is not recognized as an internal or external command, operable program or batch file.
这里有什么问题,我认为这是配置 MSTestRunner 插件的正常方式,因为 mstest.exe 安装在 Visual Studio 下,而 Visual Studio 又通常安装在“C:\Program Files (X86)”下?我该如何解决这个问题?
【问题讨论】:
-
如错误消息所述,路径解析在空格处停止,路径的其余部分在此处作为参数。所以命令环境实际上是在尝试执行位于 C:\ 的“程序”。我猜如果你用双引号(“)将路径括起来,这会起作用。
-
我不知道这是否适合您,但您能否将“C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE”添加到您的 Path 环境变量中那台机器,然后只在 Jenkins 配置中指定 mstest.exe?
-
请注意,上述方法需要在添加 Path 变量后重新启动 Jenkins 才能让 Jenkins 命令环境拾取它。
-
@CIGuy 是的,我认为这将是最后的手段,但我不是很渴望:/ 我想也许我可以直接编写一个命令行构建步骤,完全避开有问题的插件。
标签: jenkins mstest visual-studio-2012 jenkins-plugins