当我在检查了“未捕获的异常”的情况下在 vscode 调试器中运行 pytest 并且存在测试错误时,不会发生未捕获的异常,因为 pytest 捕获它们并进行结果报告。我如何告诉 pytest 让异常发生?这样我就可以在 vscode 调试器中捕获它们?
基本上我想要这样的行为,--pdb
但我希望它启动 vscode 调试器而不是 pdb。这面旗帜--pdbcls
听起来很有希望,但不知道该<module>:<class>
给它什么。
注意:通常我只会让它在引发异常时中断。但是我们的代码有大量的引发但捕获的异常,所以这个选项没有用。
这是在调试 pytest 测试时触发 AssertionError 时 vscode 未中断的视频:
@rioV8 下面的建议确实打破了异常,但由于某种原因没有堆栈,这意味着您无法从那里进行调试:
我一定遗漏了一些东西,因为似乎没有其他人需要这种能力。但对我来说,这似乎绝对是使用测试框架和调试器可以做的最基本最简单的事情:作为一名开发人员,我想从引发错误的地方进行调试。
一定有一些完全不同的方式人们使用带有 pytest 的调试器,我忽略了一些明显的技术。