如果单元测试失败,我希望能够进入交互式会话,最好是使用IPython。有一个简单的方法吗?
编辑:通过“交互式会话”我的意思是完整的Python REPL而不是pdb shell。
编辑编辑:作为进一步说明:我希望能够启动一个可以访问发生测试失败的上下文的交互式会话。例如,测试的self
变量可用。
答案 0 :(得分:2)
在IPython中,在运行测试之前使用%pdb
In [9]: %pdb
Automatic pdb calling has been turned ON
答案 1 :(得分:1)
Nosetests runner提供了--pdb
选项,可以让您在出现错误或失败时进入调试器会话。
答案 2 :(得分:-2)
你真的确定要这么做吗?你的单元测试应该做一件事,应该是有名的,并且应该清楚地打印失败的东西。如果您完成所有这些操作,则失败消息将指出出错的原因;无需以交互方式去看待它。实际上,TDD的一大优势是它可以帮助您避免必须进入调试器来诊断问题。