【问题标题】:Find which test that fail with stack overflow exception查找因堆栈溢出异常而失败的测试
【发布时间】:2018-12-11 10:34:13
【问题描述】:

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

我正在 Visual Studio 中处理一个相当大的项目。有大约 4300 次测试。其中至少有一个导致StackOverflowException。没有测试显示为失败,我得到的只是输出窗格中的一条消息:

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

我以前遇到过这种情况,通过选择一堆测试、运行它们并重复进行解决,直到我最终确定是哪个测试导致了异常。

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

【问题讨论】:

  • 在调试模式下运行它们?
  • 您可以使用 try catch 并检查异常是否为“StackOverflowException”.. 然后注销测试名称等...
  • @stuartd 这没有帮助。结果是一样的。
  • 你用的是什么测试框架?
  • @Wheels73: 抓不到StackOverflowException

标签: c# visual-studio testing exception


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    • 2011-04-14
    • 2015-12-07
    • 1970-01-01
    相关资源
    最近更新 更多