在Visual Studio

时间:2017-02-27 16:21:13

标签: visual-studio tfs specflow

如果您通过TFS运行SpecFlow测试,并且它包含[BeforeFeature]挂钩,如果您执行Console.WriteLine("blah"),然后使用Visual Studio查看生成的TRX文件,则不会显示这些控制台行。
但是,如果在文本编辑器中编辑TRX文件,则控制台输出实际上就在那里 例如,在TRX内的<TestRun\ResultSummary\Output\StdOut>节点是[BeforeFeature]日志记录的输出,但在VS中查看时根本不显示。 来自实际测试的日志记录将显示在节点<TestRun\Results\UnitTestResult\Output\StdOut>中,并将在VS内部呈现。

此外,仅查看TRX文件是一件很大的痛苦,因为要这样做,从构建结果页面,您必须双击构建,单击detailed report,单击Failed并将下拉列表更改为All并单击结果视图中的顶部链接以转至运行资源管理器,然后您最终将TRX视为下载链接。即使你进入这个阶段,如果你点击链接,它会用新的TRX替换你在VS中查看的当前TRX,这意味着你一次只能看到一个TRX,如果你忘记了你正在观看的最后一个TRX,回到原点。

即使这样,一旦你在VS中查看TRX,它会截断日志,因此你必须点击复制链接,然后将其粘贴到记事本或其他东西。
说真的,微软? 10次​​点击和3次申请只需要查看您的记录输出?疯狂。

所以,理想情况下,我想要一种完全取消在VS中查看TRX文件的方法,并理想地修改TFS,以便我们需要的信息直接显示在TFS网页上,而无需另外两个应用程序和十几个点击。

1 个答案:

答案 0 :(得分:1)

在TFS方面,没有默认方式在网页上显示测试结果附件,但您可以自定义扩展以显示测试结果。您可以从this article开始,并参考this website上的示例以及GitHub上的Visual Studio Team Services Sample Extensions存储库。

如果您使用的是VSTS或TFS 2017,则可以致电REST API to get a list of test result并在您的分机上列出:

GET http(s)://{instance}/DefaultCollection/{project}/_apis/test/runs/{run}/results?api-version={version}[&detailsToInclude={string}&$skip={int}&$top={int}]