Debugging doctests (was Re: [Zope3-dev] Re: Windows eggs)
Jim Fulton
jim at zope.com
Mon Jul 16 08:44:47 EDT 2007
On Jul 13, 2007, at 5:09 PM, Wichert Akkerman wrote:
...
> Amen. I find failing doctests to be much harder to debug as well.
Are you are of the post-mortem debugging features of the zope.testing
test runner? I find this helps a lot when debugging test failures.
On Jul 14, 2007, at 1:00 PM, Wichert Akkerman wrote:
...
> Until you have to step through the test with pdb, at which point it
> becomes very painful.
It's true that you can't step across examples. Of course, you can
call pdb.set_trace on an example. If you really need to step through
multiple examples, you can combine the examples. So, for example,
you could convert:
>>> x = f()
>>> y = g(x)
to:
>>> if 1:
... x = f()
... y = g(x)
For me, post-mortem debugging or using set_trace is almost always
good enough. On those occasions where I really need to step through a
series of example, It's straightforward to convert them to a single
example.
In general I find well-written doctests easier to debug because they
have documentation and the documentation makes their intent clearer.
Well written doctests will have documentation even when they aren't
intended as documentation. Of course, it could be argued that well
written classic tests will have comments. I think that doctest
facilitates writing good tests, as I have see far more well-written
doctests than I've seen well-written classic tests.
Jim
--
Jim Fulton mailto:jim at zope.com Python Powered!
CTO (540) 361-1714 http://www.python.org
Zope Corporation http://www.zope.com http://www.zope.org
More information about the Zope3-dev
mailing list