title: Python unit tests run function after all test
body: <p>I need to test smth on python via ssh. I don't want to make ssh connection for every test, because it is to long, I have written this: </p>
  
  <pre><code>class TestCase(unittest.TestCase):
      client = None
      def setUp(self):
          if not hasattr(self.__class__, 'client') or self.__class__.client is None:
              self.__class__.client = paramiko.SSHClient()
              self.__class__.client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
              self.__class__.client.connect(hostname=consts.get_host(), port=consts.get_port(), username=consts.get_user(),
                                  password=consts.get_password())
  
      def test_a(self):
          pass
  
      def test_b(self):
          pass
  
      def test_c(self):
          pass
  
      def disconnect(self):
          self.__class__.client.close()
  </code></pre>
  
  <p>and my runner</p>
  
  <pre><code>if __name__ == '__main__':
      suite = unittest.TestSuite((
          unittest.makeSuite(TestCase),
      ))
      result = unittest.TextTestRunner().run(suite)
      TestCase.disconnect()
      sys.exit(not result.wasSuccessful())
  </code></pre>
  
  <p>In this version I get error <code>TypeError: unbound method disconnect() must be called with TestCase instance as first argument (got nothing instead)</code>. So how i can call disconnect after all tests pass?
  With best regards.</p>