Back to questions
Junior — Middle
58
В каких сценариях используют установку декоратора перед запуском каждого теста и после его завершения?
Answer from AI
sobes.tech AI
Декораторы, которые устанавливаются перед запуском каждого теста и после его завершения, обычно используются для подготовки и очистки тестового окружения.
Сценарии использования:
- Инициализация ресурсов (например, подключение к базе данных, создание временных файлов).
- Настройка состояния, необходимого для теста (например, установка конфигураций).
- Очистка ресурсов после теста (закрытие соединений, удаление временных данных).
- Логирование или сбор метрик для каждого теста.
Пример использования в Python с unittest:
import unittest
def setup_decorator(func):
def wrapper(self, *args, **kwargs):
# Действия перед тестом
self.resource = open('temp.txt', 'w')
try:
return func(self, *args, **kwargs)
finally:
# Действия после теста
self.resource.close()
return wrapper
class MyTest(unittest.TestCase):
@setup_decorator
def test_example(self):
self.resource.write('test')
self.assertTrue(True)
Таким образом, декоратор помогает гарантировать, что подготовка и очистка выполняются для каждого теста, обеспечивая изоляцию и повторяемость тестов.