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Сообщить о неточности