Message92427
The TestLoader class in unittest.py has an attribute 'suiteClass' that
is used to create instances of TestSuite object(s) in the process of
loading tests. If it is desired to subclass the TestSuite class then
consumers may set this attribute on a TestLoader object in order to
override what TestSuite class gets instantiated (a pythonic version of
the factory method pattern).
However, the loadTestsFromName() on the TestLoader class does not use
this attribute to create TestSuite instances, and instead has a hard
coded reference to the unittest.TestSuite class. This results in the
base class being created instead of a possibly desired subclass that
has been specified via this attribute.
Solution for this issue is to change the loadTestsFromName() method to
use the suiteClass attribute when creating TestSuite objects instead
using a reference to the TestSuite class. Included is a patch that
implements this behavior as well as two additional test for the
test_unittest.py file which expose this issue if run against an
unpatched version of unittest. |
|
Date |
User |
Action |
Args |
2009-09-08 20:03:50 | MarkRoddy | set | recipients:
+ MarkRoddy |
2009-09-08 20:03:50 | MarkRoddy | set | messageid: <1252440230.46.0.994444389252.issue6866@psf.upfronthosting.co.za> |
2009-09-08 20:03:48 | MarkRoddy | link | issue6866 messages |
2009-09-08 20:03:48 | MarkRoddy | create | |
|