【发布时间】:2015-12-30 01:31:12
【问题描述】:
假设我有:
def fn1():
# do some work
# in some cases raise exception
def fn2():
# do some work
try:
fn1()
except:
# do some work
我想通过在 pdb 中引发异常来测试负面路径。
我从fn1试过:
(Pdb) raise cliexceptions.NoConnectionError("Could not connect")
*** NoConnectionError: 'Could not connect to SSR'
它打印消息但不退出fn1。
有没有办法做到这一点?
【问题讨论】:
-
我想不,你不能。那个要求太巴扎了。我认为您可以将代码打包到 except 块中并将其作为函数进行测试。
-
是的,但是从 pdb 进行测试而不是将每个代码包装在 except 块中并作为函数进行测试不是更容易吗?
-
现在你在问一个问题。那怎么会更容易呢?为什么调试器会影响程序的工作流程呢?这纯粹不是调试器的设计目标,因此不受支持是很自然的。
标签: python debugging exception try-catch pdb