4

我有一个抛出异常的单元测试。我的代码没有抛出异常,它来自 django 深处的某个地方。我想在那个地方打开一个 pdb 会话,看看有什么问题,但是当我用 pdb 打开 ipython 并且run test myapp测试运行时,抛出异常,打印它,但 pdb 没有捕获任何东西。

我猜这个绝望的人的解决方案是打开 django 的源代码并插入import pdb; pdb.set_trace()我想要调查的地方。但一定有更好的方法。我错过了什么?

4

2 回答 2

2

也许使用nosetests 和--pdb 选项来运行你的测试会起作用。

于 2012-07-13T12:17:52.817 回答
0

为什么不在import pdb; pdb.set_trace()代码中放置断点 ( ) 并检查进程?我的意思是,您可以使用字母“s”在函数中输入,这样您就可以深入了解 Django 代码。

我不知道你为什么认为使用你所说的断点是一个不好的解决方案。实际上,这就是我调试所有代码的方式。

顺便说一句:尝试使用 ipdb 代替 pdb。你会喜欢的 ;)

于 2012-03-20T21:47:42.077 回答