Module Name

Kerim Borchaev warkid at storm.ru
Wed Aug 15 06:01:13 EDT 2001


Now I run my test suite like this ( int module, say, testAll.py ):

------------------

import unittest
suite=unittest.TestSuite()

import MyModule0Name
suite.addTest(unittest.defaultTestLoader.loadTestsFromModule(MyModule0Name))

import MyModule1Name
suite.addTest(unittest.defaultTestLoader.loadTestsFromModule(MyModule1Name))

unittest.TextTestRunner().run(suite)

------------------

what I want is to remove obvious code duplication by refactoring to
something like this:

------------------
import unittest
suite=unittest.TestSuite()

def addModule(suite,'some other args'):
    'some code'

addModule('MyModule0Name')
addModule('MyModule1Name')

unittest.TextTestRunner().run(suite)
------------------

so the question is : How can I implement addModule?

because simple :

def addModule(suite, module):
    import module
    suite.addTest(unittest.defaultTestLoader.loadTestsFromModule(module))

results in : ImportError: No module named module

and

def addModule(suite, module):
    __import__(module)
    suite.addTest(unittest.defaultTestLoader.loadTestsFromModule(module))

doesnt execute any test.  loadTestsFromModule doesn't work - and I
can't understand why...

Thanks in advance,
 Kerim                          mailto:warkid at storm.ru

Have a look http://echelon.bethsoft.com - Шторм рулез!

"In theory, practice is easy."






More information about the Python-list mailing list