Thanks for not trying to insult me, Sean, but please quote me in full...
To clarify, since apparently I wasn't clear enough originally:
1) The current ordering of tests (alphabetical) could be considered
arbitrary, as I could have arguably chosen something better. However, I
personally can't think of another, better ordering the framework could
provide.
Then you're changing your story about the order. Which is fine, too. It
doesn't make the current order method less arbitrary.
2) As Mark put it so well above, the decision to only provide
alphabetical ordering WAS NOT arbitrary. I did it to make it feel like
a hack because every single unit testing reference I have ever read and
my own experience tell me that order-dependent tests are not a good
thing.
Let the developers decide for themselves which order is best. Imposing it
upon them is arbitrary. You may have a reason, but I don't agree with it, so
to me it makes no sense to be forced into alphabetic or random.
What if I have a bug that I find only when two tests are run one after the
other? What if I suspect this bug exists, and I can prove it exists by
running two tests one after the other? In celsoft.com/Battery, I can do that
easily. In Test/Unit, I can't do that (well, I can alias or just create
dummy methods, I assume, to get alphabetic...but that's not very Ruby-like).
Actually, I just looked, and it turns out test/unit has never run tests
in "Ruby order" - only Lapidary did. Alphabetical sorting was added in
October of 2001, so unless you were using Lapidary in 2001, this is
simply an inaccurate statement.
YOU said you ran the tests in Ruby order, not me. I only said "arbitrary."
That was the only word I used to describe your order. I didn't know it was
alphabetic, random or anything...they were just arbitrary to me. I couldn't
control the run order, so it imposed some order on me, and that's all I
remember about it. I said nothing about what specific order your tests ran
until someone said they were alphabetic, and then again when you said they
ran in the order Ruby listed them.
As has been mentioned here several times, offering patches or add-on
components is a middle ground between simply asking for functionality,
and re-implementing a completely new library almost identical to one
that is already available. I feel somewhat like a hypocrite saying
this, as I did the latter with test/unit, replacing RubyUnit, which was
the generally used framework at the time. So simply take it as a
suggestion - that's all it is. I do think your alternative output
format could have easily been implemented as a new test/unit runner.
That is hypocritical. Let's just point that out. All this fuss because
people are upset that I don't like arbitrary run orders imposed on me, so I
wrote my own test framework and gave it to everyone. It's absolutely
hypocritical. The only thing you should be saying is "thanks for the ideas
and input Sean, and let the best test framework win." To get on board with
all these other jerks, just because of one word that I used properly and
because you want patches not competition...absolutely hypocritical. I never
did anything but go through a hell of a lot of trouble to write and release a
test framework that does things Test/Unit did.
Also: Learning is tough to have when you simply don't have the room to
be wrong on some things.
May we all give ourselves room to learn,
What I've learned is that this ML is filled with pseudo-intellectual children
who don't like when capable programmers demonstrate that they're not
dependent on their juvenile meanderings about what should and should not be
in the Ruby world, and can code what they need for themselves, and can get
their web pages in order and release something others can actually use, and
do so quickly, and in their spare time. So few of these whiners release much
of their own stuff, let alone get their documentation together. I can't
believe I take any stock in the blatherings of such ineffective, useless
play-coders.
Sean O'Dell