【发布时间】:2018-01-29 15:11:00
【问题描述】:
我有两个项目,一个是简单的控制台应用程序项目,另一个是测试项目。在我的控制台应用程序内部,我可以检查来自测试项目的测试(基于构建 ID)是否通过或失败。
我想在每次构建完成时执行该控制台应用程序,以便我可以获取这些测试的状态并使用结果执行其他操作。
这可以通过 TFS 上的某种后期构建脚本来完成吗?
【问题讨论】:
-
您试过婷婷的方案,是否解决了您的问题?
我有两个项目,一个是简单的控制台应用程序项目,另一个是测试项目。在我的控制台应用程序内部,我可以检查来自测试项目的测试(基于构建 ID)是否通过或失败。
我想在每次构建完成时执行该控制台应用程序,以便我可以获取这些测试的状态并使用结果执行其他操作。
这可以通过 TFS 上的某种后期构建脚本来完成吗?
【问题讨论】:
您似乎正在使用 XAML 构建。如果您使用 XMAL 构建,则 BuildId 没有环境参数。此处列出了 XAmL 构建的所有环境变量:https://msdn.microsoft.com/library/hh850448%28v=vs.120%29.aspx。
作为一种解决方法,您可以使用TF_BUILD_BUILDURI 变量。如您所见,在 buildUrl 的末尾是 buildId。您可以通过 buildURL 提取 buildID。
【讨论】:
配置 TFS 模板以指定构建后脚本。 参考这个Microsoft Article
【讨论】:
Build.BuildId或Build_BuildId的名称。参考here
myProgram.exe %BUILD_BUILDID%,但它是传递给我的 exe 的空参数。知道为什么吗?
myProgram.exe %BUILD_BUILDID%,它是作为构建后事件脚本触发的,没有任何东西传递给我的 exe作为命令行参数。