【问题标题】:PyDev Setting breakpoints in doctestsPyDev 在文档测试中设置断点
【发布时间】:2010-07-21 16:22:27
【问题描述】:

是否可以使用 PyDev(即 eclipse)在 doctests 中设置断点?我发现虽然我似乎能够这样做,但断点根本不起作用。

在问题中有一些代码,并澄清一下,说我有

def funct():
  """
  >>> funct()
  Whatever
  """
  print "Whatever"

并且我在 doctest 中的 funct() 调用处设置了一个断点。我可以这样做吗?

PS:我知道我能做到

>>> import pdb; pdb.set_trace()

在 doctest 中有提示,但我不希望插入这样的行。

【问题讨论】:

    标签: python eclipse breakpoints pydev doctest


    【解决方案1】:

    我认为您不能在字符串中设置断点。

    doctest 是一个用于自动化测试的模块。如果你需要调试你的 doctest 代码,为什么不正常运行它并验证输出,然后一旦你知道它可以工作,就把它扔到一个 docstring 中?

    【讨论】:

    • 我发现在实现方法时首先要做的事情之一是编写前置条件和后置条件的 doctests 更容易。我最喜欢 docstests 的一件事是我通常不必执行复制粘贴例程并使用我的“tinker'n'test”代码作为测试代码而无需额外的努力。我希望通过使用 pydev 断点来实现我的幻想,但似乎我被 set_trace() 卡住了。当我破坏我的代码时,即当文档测试在更改后开始失败时,我发现我特别需要这样的断点。我可以复制粘贴或放入 set_trace(),但仍然可以。
    • 我还没有找到这样做的方法,但至少 Python 3.7 的“breakpoint()”行更便于键入。
    猜你喜欢
    • 2010-10-08
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    • 1970-01-01
    • 2015-03-06
    • 2015-12-20
    相关资源
    最近更新 更多