进入交互式会话以检查失败的单元测试

时间:2010-08-18 22:58:03

标签: python unit-testing interactive ipython

如果单元测试失败,我希望能够进入交互式会话,最好是使用IPython。有一个简单的方法吗?

编辑:通过“交互式会话”我的意思是完整的Python REPL而不是pdb shell。

编辑编辑:作为进一步说明:我希望能够启动一个可以访问发生测试失败的上下文的交互式会话。例如,测试的self变量可用。

3 个答案:

答案 0 :(得分:2)

在IPython中,在运行测试之前使用%pdb

In [9]: %pdb
Automatic pdb calling has been turned ON

答案 1 :(得分:1)

Nosetests runner提供了--pdb选项,可以让您在出现错误或失败时进入调试器会话。

http://nose.readthedocs.org/en/latest/usage.html

答案 2 :(得分:-2)

你真的确定要这么做吗?你的单元测试应该做一件事,应该是有名的,并且应该清楚地打印失败的东西。如果您完成所有这些操作,则失败消息将指出出错的原因;无需以交互方式去看待它。实际上,TDD的一大优势是它可以帮助您避免必须进入调试器来诊断问题。