Python с ... как для собственного менеджера контекста

Я написал простой менеджер контекста в Python для обработки модульных тестов (и чтобы попытаться изучить менеджеры контекста):

class TestContext(object):
    test_count=1
    def __init__(self):
        self.test_number = TestContext.test_count
        TestContext.test_count += 1

    def __enter__(self):
        pass

    def __exit__(self, exc_type, exc_value, exc_traceback):
        if exc_value == None:
            print 'Test %d passed' %self.test_number
        else:
            print 'Test %d failed: %s' %(self.test_number, exc_value)
        return True

Если я напишу тест следующим образом, все будет хорошо.

test = TestContext()
with test:
   print 'running test %d....' %test.test_number
   raise Exception('this test failed')

Однако, если я пытаюсь использовать с ... as, я не получаю ссылку на объект TestContext (). Запуск этого:

with TestContext() as t:
    print t.test_number

Возникает исключение'NoneType' object has no attribute 'test_number'.

Куда я иду не так?

Ответы на вопрос(3)

Ваш ответ на вопрос