import unittest class MyException(Exception): ninstance = 0 def __init__(self): MyException.ninstance += 1 print("# instance (new) = %s" % MyException.ninstance) Exception.__init__(self) def __del__(self): MyException.ninstance -= 1 print("# instance (del) = %s" % MyException.ninstance) class Test(unittest.TestCase): for index in range(1, 2): code = """if 1: def test%s(self): raise MyException() """ % index exec(code) unittest.main()