[Python-Dev] Purpose of Doctests [Was: Best practices for Enum]

Antoine Pitrou solipsis at pitrou.net
Mon May 20 15:57:35 CEST 2013


On Mon, 20 May 2013 09:37:32 -0400
"R. David Murray" <rdmurray at bitdance.com> wrote:
> On Mon, 20 May 2013 12:45:57 +0200, Antoine Pitrou <solipsis at pitrou.net> wrote:
> > On Sat, 18 May 2013 23:41:59 -0700
> > Raymond Hettinger <raymond.hettinger at gmail.com> wrote:
> > > 
> > > We should continue to encourage users to make thorough unit tests
> > > and to leave doctests for documentation.  That said, it should be
> > > recognized that some testing is better than no testing.  And doctests
> > > may be attractive in that regard because it is almost effortless to
> > > cut-and-paste a snippet from the interactive prompt.  That isn't a
> > > best practice, but it isn't a worst practice either.
> > 
> > There are other reasons to hate doctest, such as the obnoxious
> > error reporting.  Having to wade through ten pages of output to find
> > what went wrong is no fun.
> 
> That's why I added the 'failfast' option to doctest.

I didn't know that. Is it propagated by regrtest? I never use doctest
standalone.

> > Also the difficulty of editing them. For some reason, my editor doesn't
> > offer me facilities to edit interactive prompt session snippets.
> 
> I don't have much problem with lacking tailored facilities for this
> in vim.  I suppose that is a matter of personal style.  I *would* like to
> teach it the proper indentation, but I haven't been bothered enough yet
> to do it.  (After all, weren't you the one who told me the lack of tab
> key indentation at the interactive prompt after you enabled completion
> by default wasn't an issue because one could just use space to indent? :)

An interpreter prompt session is throwaway, so you can pretty much
indent as you like (which may not be very pretty in a tests file).
Besides, I was thinking about the prompts ('>>> ' and '... '), not the
indentation itself.

Regards

Antoine.




More information about the Python-Dev mailing list