title: Using inheritance setUp() and tearDown() methods in nose tests
body: <p>I have a general test class in my nosetests suit and some sub-classes, inheriting from it.</p>
  
  <p>The config is likewise:</p>
  
  <pre><code>class CGeneral_Test(object)::
      """This class defines the general testcase"""
      def __init__ (self):
          do_some_init()
          print "initialisation of general class done!"
  
      def setUp(self):
          print "this is the general setup method"
          do_setup()
  
      def tearDown(self):
          print "this is the general teardown method"
          do_teardown()
  </code></pre>
  
  <p>Now, I have the subclasses which looks like this:</p>
  
  <pre><code>class CIPv6_Test(CGeneral_Test):
      """This class defines the sub, inherited testcase"""
      def __init__ (self):
          super(CIPv6_Test, self).__init__()
          do_some_sub_init()
          print "initialisation of sub class done!"
  
      def setUp(self):
          print "this is the per-test sub setup method"
          do_sub_setup()
  
      def test_routing_64(self):
          do_actual_testing_scenarios()
  
      def tearDown(self):
          print "this is the  per-test sub teardown method"
          do_sub_teardown()
  </code></pre>
  
  <p>So, what I want to achieve would be that each test would invoke both the sub-class and the super class setUp methods.
  Hence, the desired order of test is:</p>
  
  <pre><code>Base Setup
  Inherited Setup
  This is a some test.
  Inherited Teardown
  Base Teardown
  </code></pre>
  
  <p>Of course, this can be achieved by calling    <code>CGeneral_Test.setUp(self)</code> from the inherited    <code>setUp()</code> method.</p>
  
  <p>Is there any configuration in which this behaviour is achieved by default without specifically invoke the super setUp and tearDown methods?</p>
  
  <p>thanks!</p>