unittest: Calling tests in liner number order
Roy Smith
roy at panix.com
Sat May 24 09:12:23 EDT 2008
In article
<84ff733a-e364-437d-9b5d-d8bb14cc692d at m73g2000hsh.googlegroups.com>,
John Roth <johnroth1 at gmail.com> wrote:
> > Does the following patch has a chance of being introduced in the
> > standard python distribution?
>
> I certainly hope not!
I think you're being overly negative here. Antoon went to the trouble to
read the sources and post a diff. At the very least, he deserves a more
polite response.
But, more than that, I think Antoon's idea has some merit. I understand
that the mantra in unit testing is that the tests should be able to be run
in any order. Still, it's the job of a library package to make it easy to
do things, not to enforce policy. If somebody (for whatever reason) has a
need to run their tests in a certain order, why is it our job to make it
hard for them to do that?
In fact, unittest.defaultTestLoader *already* sorts the tests into
alphabetical order by their name. So, if somebody wanted to get the tests
run in order, they could just name their tests "test0001", "test0002", etc.
In fact, I've done that in the past when I had some (long forgotten) reason
why I wanted to run a bunch of things in order. Allowing the tests to be
sorted by line number order instead of by name just makes it a little
easier to do the same thing.
If somebody wants that functionality, and is willing to put in the effort
to write the code to do it, and contribute that back to the community, I
don't see any reason why it shouldn't be considered. It would have to be
done in a way that doesn't change the current behavior (perhaps by shipping
a subclass of TestLoader which users could use instead of the default).
I'm not saying that we *need* to include it, just that it's not such a bad
idea that it deserves responses like "I certainly hope not!"
More information about the Python-list
mailing list