C# 运行测试引发的日志异常

C# 运行测试引发的日志异常,c#,exception,visual-studio-2012,selenium,mstest,C#,Exception,Visual Studio 2012,Selenium,Mstest,我已经设置了几个类的Selenium测试并准备运行,但是我希望将测试结果记录到外部数据库(除了内部TFS状态),以便进行不同的分析。作为其中的一部分,我希望将异常存储为测试引发的异常 我在其他地方见过使用MSTest的部署,但仍然将异常记录到外部数据库,但我似乎找不到将抛出的异常公开到我可以记录它们的正确层。没有包含它们,在try/catch块中没有明显的方法调用测试,并且在[TestCleanup]中没有显示任何相关内容 我能在StackOverflow上找到的最接近的答案似乎没有一个特别明确

我已经设置了几个类的Selenium测试并准备运行,但是我希望将测试结果记录到外部数据库(除了内部TFS状态),以便进行不同的分析。作为其中的一部分,我希望将异常存储为测试引发的异常

我在其他地方见过使用MSTest的部署,但仍然将异常记录到外部数据库,但我似乎找不到将抛出的异常公开到我可以记录它们的正确层。没有包含它们,在try/catch块中没有明显的方法调用测试,并且在[TestCleanup]中没有显示任何相关内容

我能在StackOverflow上找到的最接近的答案似乎没有一个特别明确的答案。最终,非C#程序员将在我的框架之上编写测试,我更希望让他们编写尽可能少的代码


是否有方法获取在MSTest中运行的测试中抛出的异常?它显然是由MSTest系统存储的,因此必须在某个地方捕获它。

Visual Studio 2012及更高版本的测试运行程序可以从接收记录器实例,并且您应该能够“滚动自己的”。可以在上找到示例记录器。您可以将记录器安装到执行测试的机器上,然后在实际测试项目中不需要任何代码


您还可以将配置设置为trx并解析文件,但是您可以更好地访问记录器接口中的数据。

Visual Studio 2012及更高版本的测试运行程序可以从命令行
/Logger
接收记录器实例,并且您应该能够“自己滚动”。请看:@jessehouwing:为了子孙后代,你应该把它作为一个答案。有没有一种正式的方式在编译的二进制文件之外与之交互?我宁愿避免进一步扩展测试套件。