[Python-Dev] unittest enhancement for TestCase classes hierarchies

Jean-Paul Calderone exarkun at divmod.com
Sat Mar 10 16:49:45 CET 2007


On 2007年3月10日 09:13:28 -0600, Collin Winter <collinw at gmail.com> wrote:
>In my continuing trawl through the SF patch tracker, I came across
>#1244929 (http://python.org/sf/1244929), which causes
>TestLoader.loadTestsFromModule() to skip classes whose name starts
>with an underscore. This addresses the warning in that method's docs:
>>"""
>While using a hierarchy of
>TestCase-derived classes can be convenient in sharing
>fixtures and helper functions, defining test methods on base classes
>that are not intended to be instantiated directly does not play well
>with this method. Doing so, however, can be useful when the
>fixtures are different and defined in subclasses.
>"""
>>"Does not play well", in this case, means that your base classes will
>be picked up against your will if they subclass TestCase.
>>I like the patch and have worked up tests and doc changes for it. Any
>objections to including this in 2.6?

This use case is what mixins are for. You don't have to include TestCase
in your ancestry until you get to a class which you actually want to run
tests.
The current rule of loading anything that subclasses TestCase is simple
and straightforward. Complicating it to provide a feature which is already
available through a widely used standard Python idiom doesn't seem worth
while.
Jean-Paul


More information about the Python-Dev mailing list

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