如何在TFS构建而不是代码覆盖之后生成.trx结果文件?

时间:2017-06-19 15:41:20

标签: visual-studio tfs msbuild

我最近将xxx.runsettings文件添加到我的解决方案中,以将参数从TFS变量传递到我的解决方案(url)。现在,在测试摘要/结果页面中运行TFS构建后,我无法生成.trx结果文件,只生成代码覆盖率。

[.runsettings code taken from here-https://msdn.microsoft.com/en-us/library/jj635153.aspx

这里的任何人都可以告诉我如何编辑runsettings文件,以便在我的测试摘要中显示.trx结果文件而不是代码覆盖率吗? TFS 2015 Update 3,TFS ms build

Can see this window once build is completed

Run functional test Logs

发布结果日志 - 日志 2017-06-21T17:20:49.9138829Z执行powershell脚本:C:\ agent \ tasks \ PublishTestResults \ 1.0.22 \ PublishTestResults.ps1

2017-06-21T17:20:50.0628925Z ## [警告]未使用搜索模式找到测试结果文件' C:\ agent_work \ 2 \ s ** \ TestResults \ xyz * .trx&#39 ;

2 个答案:

答案 0 :(得分:0)

因为您正在运行VStest。哪个不会生成.trx结果文件。

VStest步骤实际上是使用VSTest.Console.exe命令,它将使用不生成.trx文件的/logger:TfsPublisher。因此,如果您使用内置任务(如 Visual Studio测试或运行功能测试)来运行测试,则结果会自动发布,您不需要单独的发布测试结果任务。

要将结果记录到Visual Studio测试结果文件(TRX)中,请使用/Logger:trx。更多详情请参阅此command。生成.trx文件与runsettings文件无关。

对于TFS,测试结果会自动发布,您可以单击测试运行以获取更多详细信息。

答案 1 :(得分:0)

只需从runsettings文件中删除<ResultsDirectory>.\TestResults</ResultsDirectory>部分即可解决您的问题。

顺便说一下,发布测试结果任务在您的方案中不起作用,因为它只能在构建代理上发布测试结果文件,而trx文件通常是在运行功能测试任务的测试代理上生成的。