[Python-Dev] PEP: Consolidating names in the `unittest` module

Nick Coghlan ncoghlan at gmail.com
Wed Jul 16 07:33:33 CEST 2008


Stephen J. Turnbull wrote:
> Ben Finney writes:
>> > Removal of ``assert*`` names
> > ----------------------------
>> > Arguments in favour of retaining only the ``assert*`` names:
> > 
> > * BDFL preference: The BDFL has stated [#vanrossum-1]_ a preference
> > for the ``assert*`` names.
> > 
> > * Precedent: The Python standard library currently uses the
> > ``assert*`` names by a roughly 8:1 majority over the ``fail*``
> > names. (Counting unit tests in the py3k tree at 2008年07月15日
> > [#pitrou-1]_.)
> > 
> > An ad-hoc sampling of other projects that use `unittest` also
> > demonstrates strong preference for use of the ``assert*`` names
> > [#bennetts-1]_.
> > 
> > * Positive admonition: The ``assert*`` names state the intent of how
> > the code under test *should* behave, while the ``fail*`` names are
> > phrased in terms of how the code *should not* behave.
>> FWIW, I think these are fairly stated. So fairly that I'm surprised
> you haven't been persuaded!<wink> Nitpick: the second point is not
> just "precedent", there's an economic reason there too. Tests in the
> standard distribution which use the deprecated style will need to be
> converted. Steven d'Aprano claims this is nontrivial (and thus error-
> prone) in some cases. I haven't seen that claim denied, and it seems
> plausible to me.

I disagree with SdA's statement there: failUnless* maps directly to 
assert* and failIf* maps directly to assertNot*. There are no semantic 
changes whatsoever involved in that remapping, just a change in the 
method names.
Note that if the API is to be rationalised at all, my personal 
preference is to keep assert* and failIf* and get rid of their longer 
counterparts (failUnless* and assertNot*). Alternatively, ditch the 
binary assertion methods entirely, and use a check object to state those 
assertions:
 check(x).almost_equal(y) instead assertAlmostEqual(x, y)
Cheers,
Nick.
-- 
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
 http://www.boredomandlaziness.org


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /