如果您通过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网页上,而无需另外两个应用程序和十几个点击。
答案 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}]