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

Antoine Pitrou solipsis at pitrou.net
Mon May 20 18:10:48 CEST 2013


On Tue, 21 May 2013 02:00:32 +1000
Steven D'Aprano <steve at pearwood.info> wrote:

> On 20/05/13 23:38, Antoine Pitrou wrote:
> > On Mon, 20 May 2013 23:32:10 +1000
> > Steven D'Aprano <steve at pearwood.info> wrote:
> >> On 20/05/13 20:45, Antoine Pitrou 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.
> >>
> >> Ten pages of broken unit tests are no picnic either.
> >
> > You didn't understand the objection. I'm talking about *one* broken
> > doctest in a sea of non-broken ones. For some reason doctest (or its
> > unittest driver) insists on either displaying everything, or nothing.
> > It doesn't only print the errors and leave the rest silent.
> 
> 
> It sounds like you are inadvertently calling doctest with the verbose option. It is not standard behaviour to display "everything or nothing".

Well, I never run doctest directly, I use regrtest (there are some
doctests in the standard library). So perhaps the blame lies on
regrtest or on the unittest adapter, my bad.

Regards

Antoine.




More information about the Python-Dev mailing list