'Wrapper around default __call__ method to perform common Django test
set up. This means that user-defined Test Cases aren\'t required to
include a call to super().setUp().'

def __call__(self, result=None):

    testMethod = getattr(self, self._testMethodName)
    skipped = (getattr(self.__class__, u'__unittest_skip__', False) or getattr(testMethod, u'__unittest_skip__', False))
    if (not skipped):
        try:
            self._pre_setup()
        except (KeyboardInterrupt, SystemExit):
            raise
        except Exception:
            result.addError(self, sys.exc_info())
            return
    super(SimpleTestCase, self).__call__(result)
    if (not skipped):
        try:
            self._post_teardown()
        except (KeyboardInterrupt, SystemExit):
            raise
        except Exception:
            result.addError(self, sys.exc_info())
            return
