Проверяет знание способов выполнения очистки после тестов.
Для выполнения кода после теста используйте:
yield в фикстуре (код после yield)
request.addfinalizer()
Фикстуру с autouse=True
Способ 1: Использование yield
@pytest.fixture
def clean_up():
print("Настройка перед тестом")
yield
print("Очистка после теста") # Выполнится после тестаСпособ 2: addfinalizer
@pytest.fixture
def resource(request):
print("Настройка ресурса")
def cleanup():
print("Очистка ресурса")
request.addfinalizer(cleanup)Когда использовать:
Для освобождения ресурсов (файлы, соединения)
Для сброса состояния системы