使用python的unittest模块运行测试时,是否有任何便捷的方法来获取异常的ipdb调试器?
使用ipython --pdb my_script.py
调试python代码很方便。
但是,当我使用unittest模块时,
class MyTestCase(unittest.TestCase):
def runTest(self):
x = 0
y = 3/x
unittest捕获异常并退出。
最佳答案
我发现先运行测试并查看是否发生任何错误是有帮助的。这有助于全面了解错误。例如,有不止一个测试失败,应该首先检查哪个。
经过分析,这是我测试/调试周期的方法。
在您的测试中:
def test_foo_is_bar(self):
import ipdb
ipdb.set_trace()
self.assertEqual('foo', 'bar')
现在使用以下命令运行测试:
nosetests -s tests/test_example.py
-s
标志将帮助您进入输入模式,而不是从 Nose 中获取异常。旁注:我已将快捷方式设置为在IntelliJ(PyCharm)设置中粘贴
import ipdb as pdb; pdb.set_trace()
,这样我就可以插入这一行以在代码中的任意位置停止。关于python - 带有python unittest模块的ipdb,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31640362/