为什么Visual Studio在调试单元测试时不会中断异常?

Jef*_*art 26 debugging unit-testing exception visual-studio-2008

当我尝试调试因代码中的未处理异常而失败的单元测试时,我希望Visual Studio能够打破未处理的异常,这样我就可以检查代码并找出问题所在.相反,IDE立即退出调试模式,测试列为"失败",让我查阅测试结果的堆栈跟踪以找到问题.

我已经确认IDE被配置为在抛出任何用户未处理的CLR异常时中断.如果我配置IDE以中断所有抛出的异常,我只能得到预期的行为.当然,这可以正常调试PITA.

我运气不好吗?

Jar*_*Par 31

原因是你的例外没有得到解决.单元测试框架正在处理引擎下的异常并将它们转换为故障.

你需要做的是打破抛出的异常.如果将此与启用"Just My Code"(默认情况下为on)结合使用,您应该得到您期望的行为.只有在代码抛出异常时,Visual Studio才会中断.

  • @Luke Puplett:显然,"Debug"菜单 - >"Exceptions ..." - >检查相关异常的"抛出". (4认同)
  • 现在这是一个可以接受的解决方法,但是后来当我的代码成熟并且更频繁地抛出合法异常时它将成为PITA.呻吟. (2认同)
  • 我知道为什么,我不理解变通方法; 用厚厚的术语来说,我点击什么?对我来说,即使"调试测试"也没有达到断点. (2认同)

Har*_*ono 9

对我来说,我正在使用VS 2010和2015,转到:工具,选项,调试,常规:您需要确保选中"启用我的代码"和"启用例外助手".