[Python-Dev] Purpose of Doctests [Was: Best practices for Enum]
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.
More information about the Python-Dev