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

Mark Janssen dreamingforward at gmail.com
Mon May 20 19:26:51 CEST 2013


>> I'm hoping that core developers don't get caught-up in the "doctests are bad
>> meme".
>>
>> Instead, we should be clear about their primary purpose which is to test
>> the examples given in docstrings.
>> In other words, doctests have a perfectly legitimate use case.
>
> But more than just one ;-)  Another great use has nothing to do with
> docstrings:  using an entire file as "a doctest".   This encourages
> writing lots of text explaining what you're doing,. with snippets of
> code interspersed to illustrate that the code really does behave in
> the ways you've claimed.

+1, very true.  I think doctest excel in almost every way above
UnitTests.  I don't understand the popularity of  UnitTests, except
perhaps for GUI testing which doctest can't handle.  I think people
just aren't very *imaginative* about how to create good doctests that
are *also* good documentation.

That serves two very good purposes in one.  How can you beat that?
The issues of teardown and setup are fixable and even more beautifully
solved with doctests -- just use the lexical scoping of the program to
determine the execution environment for the doctests.

> picking-your-poison-ly y'rs  - tim

Cheers,

Mark


More information about the Python-Dev mailing list