From a Python unittest issue:
http://bugs.python.org/issue11178
Reported by a user and verified by me with both Python 2.7 and 3.2.
Trying to run tests by module or package name seems to fail.
directory structure:
project root: C:\Users\hpierson\Projects\pytest
\test
__init__.py (empty)
testfoo.py (sample test file
running test package by name - no tests discovered
C:\Users\hpierson\Projects\pytest
PS» cpy C:\Python31\Scripts\unit2.py test
----------------------------------------------------------------------
Ran 0 tests in 0.000s
running test module by name - can't find module
C:\Users\hpierson\Projects\pytest
PS» cpy C:\Python31\Scripts\unit2.py test.testfoo
Traceback (most recent call last):
File "C:\Python31\Scripts\unit2.py", line 7, in <module>
main_()
File "C:\Python31\lib\site-packages\unittest2\main.py", line 237, in main_
main(module=None)
File "C:\Python31\lib\site-packages\unittest2\main.py", line 94, in __init__
self.parseArgs(argv)
File "C:\Python31\lib\site-packages\unittest2\main.py", line 149, in parseArgs
self.createTests()
File "C:\Python31\lib\site-packages\unittest2\main.py", line 158, in createTests
self.module)
File "C:\Python31\lib\site-packages\unittest2\loader.py", line 133, in loadTestsFromNames
suites = [self.loadTestsFromName(name, module) for name in names]
File "C:\Python31\lib\site-packages\unittest2\loader.py", line 133, in <listcomp>
suites = [self.loadTestsFromName(name, module) for name in names]
File "C:\Python31\lib\site-packages\unittest2\loader.py", line 101, in loadTestsFromName
parent, obj = obj, getattr(obj, part)
AttributeError: 'module' object has no attribute 'testfoo'
This isn't reproducable (any more?) on Python 2.7, but is on Python 3.2.
Running "python -m unittest package" doesn't find tests in submodules, but
without running full discovery even when passed an explicit module name I don't
think that is avoidable.
Original issue reported on code.google.com by fuzzyman on 19 Dec 2011 at 12:42
Original issue reported on code.google.com by
fuzzyman
on 19 Dec 2011 at 12:42