[CentralOH] Unit Testing with PyDev
Mark Erbaugh
mark at microenh.com
Mon May 12 04:50:29 CEST 2008
On Sat, 2008-05-10 at 08:13 -0400, Mark Erbaugh wrote:
> Hello,
>
> I'm using Eclipse with PyDev for Python development. I've written
> several unit test scipts. I can run each one using Eclipse/Pydev's Run
> as Python unit-test command.
>
> Is there a way to automatically run them all at once? I created a
> simple script that sort of works:
>
> from Test1 import *
> from Test2 import *
> [...]
>
> However, the problem is that I wasn't very creative in naming my test
> cases so Test1 and Test2 may have test cases with the same name, which
> would mean that some test cases may be skipped.
>
> I've noticed that Run As Python unit-test ignores the code I've placed
> in the if __name__ == '__main__' suite. Apparently, it just looks for
> Test... objects.
>
Here's a solution I worked up. The MODULES is a list of <str>s of the
test module names. Comments are welcome.
"""
all tests runner for Eclipse
add name of test module as <str> to MODULES
"""
MODULES = (
'test_attachment',
'test_comm_event',
'test_filter',
'test_nosy_ce',
'test_query_strings',
#'test_role_base',
'test_rsn_name',
'test_slot_result_set',
'test_sr_query',
'testAddressFmt',
'testConditionalSeparators',
'testFieldMap',
'testparse_select',
)
ct = 0
for i in MODULES:
exec 'import %s as X' % i
for j in dir(X):
if j.find('Test') == 0:
exec 'Test%d = X.%s' % (ct, j)
ct += 1
More information about the CentralOH
mailing list