【问题标题】:Publishing test results through command line test runner in VSTS通过 VSTS 中的命令行测试运行程序发布测试结果
【发布时间】:2016-06-07 17:51:48
【问题描述】:

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

文章中显示了TFS onsite 的 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%

【问题讨论】:

  • 你使用什么测试框架?在大多数情况下,您不需要通过 CLI 手动发布测试结果。
  • 这是一个跨平台共享项目-Android/Win32/Windows Store/iOS/WebForms

标签: automated-tests azure-devops


【解决方案1】:

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

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

【讨论】:

  • 我不得不做同样的事情。似乎在构建完成之后,“$(BUILD_BUILDNUMBER)”就足够了,但是在构建过程中它不是......几乎就像构建是分阶段的。我还发现没有报告每个测试结果。我已经求助于生成 .trx,然后也使用内置的“发布测试结果”任务。
【解决方案2】:

构建名称由构建定义“常规”选项卡下的“构建编号格式”生成。您可以从"BUILD_BUILDNUMBER" 变量中获取它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-03
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-14
    • 2019-01-14
    • 1970-01-01
    相关资源
    最近更新 更多