python unittest question
Paul Lussier
p.lussier at comcast.net
Tue Apr 28 19:46:57 EDT 2009
Is anyone here familiar with unit testing in python using the unittest
module? If so, I'm rather stumped on something.
I have a directory with several seperate unit test suites
$ ls testcases/
foo_t.py bar_t.py baz_t.py
The _t is a local convention indicating this file is a suite of unit
tests for module name which precedes the '_t'.
Currently I run each moduld manually as:
$ python foo_t.py
Test foo() method. ... ok
---------------
Ran 1 test in 0.027s
OK
But I'd really like a way to do a couple things:
1. run all tests in all suites
2. run any given test or set of tests within a single suite.
Obviously I can already accomplish #1 with a crude shell script:
$ for i in *_t.py ; do python $i; done
And I believe there's a way to get #2 as well, but I'm not sure what it is.
Ideally, I'd like a single python script which accomplishes both:
$ runtests.py # would run all tests in all suites
$ runtests.py --suite=foo # would run all tests in foo_t1.py
$ runtests.py --suite=foo --test=Bar # would run the foo_t1.testBar() test
Now, the caveat is that I should be able to create testcases/fii_t.py
and then instantly run 'runtests.py' and it should automagically pick
up the new fii_t.py and run all it's tests without me having to modify
runtests.py.
Any ideas ? Thanks.
--
Seeya,
Paul
More information about the gnhlug-discuss
mailing list