title: Unittest setUp/tearDown for several tests
body: <p>Is there a function that is fired at the beginning/end of a scenario of tests? The functions setUp and tearDown are fired before/after every single test.</p>
  
  <p>I typically would like to have this:</p>
  
  <pre><code>class TestSequenceFunctions(unittest.TestCase):
  
      def setUpScenario(self):
          start() #launched at the beginning, once
  
      def test_choice(self):
          element = random.choice(self.seq)
          self.assertTrue(element in self.seq)
  
      def test_sample(self):
          with self.assertRaises(ValueError):
              random.sample(self.seq, 20)
          for element in random.sample(self.seq, 5):
              self.assertTrue(element in self.seq)
  
      def tearDownScenario(self):
          end() #launched at the end, once
  </code></pre>
  
  <p>For now, these setUp and tearDown are unit tests and spread in all my scenarios (containing many tests), one is the first test, the other is the last test.</p>