3

如果单元测试失败,我希望能够进入交互式会话,最好使用 IPython。是否有捷径可寻?

编辑:“交互式会话”是指完整的 Python REPL 而不是 pdb shell。

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

4

3 回答 3

2

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

In [9]: %pdb
Automatic pdb calling has been turned ON
于 2010-08-18T23:48:36.113 回答
1

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

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

于 2010-08-19T01:46:38.553 回答
-2

你真的确定要这样做吗?你的单元测试应该做一件事,应该有很好的名字,并且应该清楚地打印出失败的地方。如果你做了所有这些,失败消息将指出哪里出了问题;无需以交互方式查看它。事实上,TDD 的一大优势在于它可以帮助您完全避免进入调试器来诊断问题。

于 2010-08-18T23:41:20.037 回答