subclassing from unittest

Ulrich Eckhardt ulrich.eckhardt at dominolaser.com
Thu May 23 02:58:51 EDT 2013


Am 22.05.2013 17:32, schrieb Charles Smith:
> I'd like to subclass from unittest.TestCase.  I observed something
> interesting and wonder if anyone can explain what's going on... some
> subclasses create  null tests.

I can perhaps guess what's going on, though Terry is right: Your 
question isn't very helpful and informative.


> I can create this subclass and the test works:
>
>    class StdTestCase (unittest.TestCase):
>        blahblah
>
> and I can create this subsubclass and the test works:
>
>    class aaaTestCase (StdTestCase):
>        moreblahblah
>
> but if I create this subsubclass (or any where the first letter is
> capital):
>
>    class AaaTestCase (StdTestCase):
>        differentblahblah
>
> the test completes immediately without any work being done.

Well, per PEP 8, classes use CamelCaps, so your naming might break 
automatic test discovery. Then, there might be another thing that could 
cause this, and that is that if you have an intermediate class derived 
from unittest.TestCase, that class on its own will be considered as test 
case! If this is not what you want but you still want common 
functionality in a baseclass, create a mixin and then derive from both 
the mixin and unittest.TestCase for the actual test cases.

Good luck!

Uli




More information about the Python-list mailing list