unittest - sort cases to be run

Peter Otten __peter__ at web.de
Tue Aug 21 14:00:26 EDT 2012


Kevin Zhang wrote:

> I want to sort the order of the unittest cases to be run, but found such
> statement in Python doc,
> "Note that the order in which the various test cases will be run is
> determined by sorting the test function names with respect to the built-in
> ordering for strings."
> 
>     s.addTest(BTest())
>     s.addTest(ATest())
>     TextTestRunner().run(ts)
> 
> I need BTest() to be run prior to ATest(), is there any natural/beautiful
> way to achieve this? Thanks,

Did you try the above? I think BTest *will* run before ATest. The sorting is 
performed by the TestLoader if there is one, i. e. if you don't build a test 
suite manually. If you *do* use a TestLoader you can still influence the 
sort order by defining a sortTestMethodsUsing static method. Here's a fairly 
complex example:

[Ordering tests in a testsuite]
http://mail.python.org/pipermail/python-list/2010-October/589058.html




More information about the Python-list mailing list