Python Glossary English

Python 3.11+unittestфункция

unittest.enterModuleContext()

фикстуры

Входит в контекстный менеджер на время всех тестов модуля и сам регистрирует выход из него как очистку модуля.

Синтаксис

def setUpModule():
    resource = unittest.enterModuleContext(cm)

Это замена паре with + tearDownModule там, где with не применить: внутри setUpModule блок with закрылся бы раньше, чем начнутся тесты. Возвращает результат __enter__, как as в with. Выход происходит через doModuleCleanups, то есть и при падении setUpModule после этого вызова. Для одного класса есть TestCase.enterClassContext, для одного теста — self.enterContext.

Примеры

import contextlib
import unittest
@contextlib.contextmanager
def resource():
    print('open')
    yield 42
    print('close')
value = unittest.enterModuleContext(resource())
print(value)  # → open / 42
unittest.doModuleCleanups()  # → close

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности