homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author martin.panter
Recipients docs@python, martin.panter
Date 2014年08月06日.05:00:02
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1407301202.17.0.719208246986.issue22153@psf.upfronthosting.co.za>
In-reply-to
Content
The documentation for "unittest.TestCase" says "the standard implementation of the default 'methodName', runTest(), will run every method starting with 'test' as an individual test". However:
>>> from unittest import *
>>> class Test(TestCase):
... def test_method(self): pass
... 
>>> t = Test()
>>> t.run()
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "/usr/lib/python3.4/unittest/case.py", line 552, in run
 testMethod = getattr(self, self._testMethodName)
AttributeError: 'Test' object has no attribute 'runTest'
After further experimentation, I see that if my test method is called "runTest", it can be automatically discovered, but only if there are no other test- prefixed methods.
Perhaps you could drop the end of the second paragraph for TestCase, so that it just reads:
Each instance of TestCase will run a single base method: the method named "methodName".
I think the details about the test- prefix and counting results are covered elsewhere, and in most uses you wouldn't instantiate a TestCase yourself, so changing the method name is irrelevant.
Also, perhaps under "TestLoader.loadTestsFromTestCase" it should say:
If no methods with the usual name prefix are found, but the "runTest" method is implemented, there will be a single test case using that method.
History
Date User Action Args
2014年08月06日 05:00:02martin.pantersetrecipients: + martin.panter, docs@python
2014年08月06日 05:00:02martin.pantersetmessageid: <1407301202.17.0.719208246986.issue22153@psf.upfronthosting.co.za>
2014年08月06日 05:00:02martin.panterlinkissue22153 messages
2014年08月06日 05:00:02martin.pantercreate

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