title: Python unittest.TestCase execution order
body: <p>Is there a way in Python <code>unittest</code> to set the order in which test cases are run?</p>
  <p>In my current <code>TestCase</code> class, some testcases have side effects that set conditions for the others to run properly. Now I realize the proper way to do this is to use <code>setUp()</code> to do all setup related things, but I would like to implement a design where each successive test builds slightly more state that the next can use. I find this much more elegant.</p>
  <pre><code>class MyTest(TestCase):
  
    def test_setup(self):
      # Do something
  
    def test_thing(self):
      # Do something that depends on test_setup()
  </code></pre>
  <p>Ideally, I would like the tests to be run in the order they appear in the class. It appears that they run in alphabetical order.</p>