【发布时间】:2014-07-14 04:27:00
【问题描述】:
我已经设置了几类 Selenium 测试并准备运行,但是我想将测试结果记录到外部数据库(除了内部 TFS 状态)以进行不同的分析分析。作为其中的一部分,我想存储测试抛出的异常。
我在其他地方看到了使用 MSTest 并仍然将异常记录到外部数据库的部署,但我似乎无法找到将引发的异常公开到可以记录它们的位置的正确层。 TestContext 不包含它们,没有明显的方法可以在 try/catch 块中调用测试,并且 [TestCleanup] 中没有显示任何相关内容。
我可以在 StackOverflow would be this question from 2010 上找到的最接近的答案似乎没有特别确凿的答案。最终,非 C# 程序员将在我的框架之上编写测试,我希望他们编写尽可能少的货物崇拜代码。
有没有办法从 MSTest 中运行的测试中获取抛出的异常?它显然是由 MSTest 系统存储的,因此必须在某处捕获它。
【问题讨论】:
-
Visual Studio 2012 及更高版本的测试运行程序可以从命令行
/logger接收记录器实例,并且您应该能够“滚动自己的”。请参阅:msdn.microsoft.com/en-us/library/jj155796.aspx 和 github.com/JakeGinnivan/VSTest.TeamCityLogger/tree/master/… -
@jessehouwing:您应该将其添加为后代的答案。
-
是否有一种正式的方式可以在编译后的二进制文件之外与之交互?我宁愿避免进一步扩展测试套件。
标签: c# exception visual-studio-2012 selenium mstest