Automated tests 通过VSTS中的命令行测试运行程序发布测试结果

Automated tests 通过VSTS中的命令行测试运行程序发布测试结果,automated-tests,azure-devops,Automated Tests,Azure Devops,我正在尝试将vstest.console.exe与VSTS(云)中的TfsPublisher记录器一起使用 这篇文章中有一个URL示例,但我正在尝试确定我的VSTS构建要使用哪些参数。例如: /logger:TfsPublisher;Collection=http://localhost:8080/tfs/DefaultCollection;TeamProject=MyProject;BuildName=DailyBuild_20121130.1 但是我只是得到一个错误,说在项目中找不到构建,

我正在尝试将vstest.console.exe与VSTS(云)中的TfsPublisher记录器一起使用

这篇文章中有一个URL示例,但我正在尝试确定我的VSTS构建要使用哪些参数。例如:

/logger:TfsPublisher;Collection=http://localhost:8080/tfs/DefaultCollection;TeamProject=MyProject;BuildName=DailyBuild_20121130.1
但是我只是得到一个错误,说在项目中找不到构建,例如

Error: Build "1234" cannot be found under team project "MyProject".
我认为问题在于BuildName参数。我的项目和生成定义的名称中没有空格。我尝试过各种价值观,例如:

BuildName=%BUILD_BUILDID% (resolves to number, e.g. 1234)
BuildName=%BUILD_DEFINITIONNAME% (resolves to build definition name OK)
BuildName=%BUILD_BUILDURI% (resolves to url, e.g. vstfs:///Build/Build/1234)
错误消息确认环境变量似乎正在解析,但我无法确定在我的情况下应该用什么替换“DailyBuild_20121130.1”

更新:我的vstest.console.exe记录器参数当前看起来像

/logger:TfsPublisher;Collection=%SYSTEM_TEAMFOUNDATIONCOLLECTIONURI%;TeamProject=%SYSTEM_TEAMPROJECT%;BuildName=%BUILD_BUILDNUMBER%

生成名称由生成定义“常规”选项卡下的“生成编号格式”生成。你可以从变量中得到它。

我使用Trx记录器和其中一个“发布测试结果”构建步骤有效地获得了我想要的结果:

vstest.console.exe ... /logger:Trx

您使用的是什么测试框架?在大多数情况下,您不需要通过CLI手动发布测试结果。这是一个跨平台共享项目—Android/Win32/Windows Store/iOS/WebForm我也必须这样做。似乎在构建完成之后,“$(build\u BUILDNUMBER)”就足够了,但在构建过程中就不够了。。几乎就好像构建是分阶段进行的。我还发现没有报告每次测试的结果。我已经求助于生成一个.trx,然后使用内置的“发布测试结果”任务。