seattlerb/minitest — pull request #426 by judofyr (2014-05-03 20:27:15+00:00)
Title: Run test suites in random order:

Randomization helps detect order-dependent tests (aka. crappy tests). Test
*methods* have been randomized for a long time; this commit randomizes the
order test *suites* are run in as well.

Example:

class TestFoo < Minitest::Test; end
class TestBar < Minitest::Test; end

Before: TestFoo would always run before TestBar. Tests within TestFoo/TestBar
would be randomized, but the suite themselves were called in a specific order.

After: TestBar might (or might) not run before TestFoo. It's currently not
possible to disable suite randomization, but if you have order-dependent test
you really ought to place them in the same class and use
i_suck_and_my_tests_are_order_dependent!

(This pull request implements #425)