使用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/

10-12 18:35