查找哪个失败且堆栈溢出异常的测试

时间:2018-12-11 10:34:14

标签: c# visual-studio testing exception

当测试导致StackOverflowException时,确定哪个测试失败的最佳方法是什么?

我正在Visual Studio中从事一个相当大的项目。有约4300个测试。其中至少有一个引起StackOverflowException。没有测试显示为失败,我得到的只是“输出”窗格中的一条消息,内容为:

  

活动的测试运行被中止。原因:由于StackOverflowException,进程正在终止。

我以前一直处在这种情况下,通过选择一堆测试来解决它,然后运行它们,然后重复进行直到我最终确定哪个测试导致了异常。

有更好的方法吗?也许可以找出发生异常时正在运行的测试?

1 个答案:

答案 0 :(得分:0)

我是根据我在一个大型项目中的经验发布的,如果遇到StackOverflowException,只需在任何类型的进程之前放置一个断点并在Debug模式下运行,并在需要时使用F10和F11,并在任何时候仔细观察该进程将停止前进。如果找到那条线,问题就解决了。一种特殊情况是,某人创建了一种方法,在开始任何测试之前删除文件夹中的所有文档,这是我机器上缺少该文件夹并导致引发StackOverflowException的