nosetests --pdb
可以让我在出现错误或失败时停止,但这对我的需求来说太晚了。在执行过程中逐步查看代码可以帮助我调试问题所在。
然而,nosetest非常有用,因为它们允许依赖相对导入的测试(即包中的测试)。
我如何在执行测试之前设置断点? 目前,我正在使用:
python -m pdb /path/to/my/nosetests testfile.py
这个解决方案不够好。Nosetests会干扰pdb的输出,而且我的键盘控制(如箭头键)也失效了。
使用import pdb; pdb.set_trace()似乎是个好主意,然而nosetests正在阻止我访问pdb控制台。
pdb
后如何进行导航吗?我确定有文档,但是就我的经验而言-s
"步入"一个函数调用,n
转到下一条语句,u
在堆栈中向上移动,d
在堆栈中向下移动。您可以使用b
设置断点,使用c
来“继续”并退出跟踪调试器。希望这有所帮助! - Matt Luongo