Junior — Middle
111
Quelles méthodes sont utilisées dans pytest pour libérer les ressources après la fin du test?
Entreprises à qui on a demandé
Леста
Réponse de l'IA
sobes.tech IA
В pytest освобождение ресурсов после теста обычно реализуется с помощью фикстур с использованием ключевого слова yield или функции request.addfinalizer.
- Фикстуры с yield:
Код до
yieldвыполняется перед тестом, а код после — после теста, для очистки ресурсов.
import pytest
@pytest.fixture
def resource():
# подготовка ресурса
res = open('file.txt', 'w')
yield res
# освобождение ресурса
res.close()
- addfinalizer: Можно зарегистрировать функцию очистки, которая выполнится после теста.
@pytest.fixture
def resource(request):
res = open('file.txt', 'w')
def cleanup():
res.close()
request.addfinalizer(cleanup)
return res
Таким образом, pytest предоставляет удобные механизмы для гарантированного освобождения ресурсов после выполнения тестов.