Back to questions
Middle
6
Про декораторы в Python — что это, где используются в тестах?
Companies where asked
Octo
Answer from AI
sobes.tech AI
Декораторы в Python — это функции, которые принимают другую функцию и возвращают новую функцию с расширенным поведением, не изменяя исходный код.
В тестах декораторы часто используются для:
- Повторного использования кода (например, настройка окружения перед тестом).
- Логирования или измерения времени выполнения тестов.
- Пропуска тестов при определённых условиях.
Пример использования декоратора для пропуска теста, если не выполнено условие:
import unittest
def skip_if_no_db(func):
def wrapper(*args, **kwargs):
if not check_db_connection():
raise unittest.SkipTest("Нет подключения к БД")
return func(*args, **kwargs)
return wrapper
class MyTests(unittest.TestCase):
@skip_if_no_db
def test_query(self):
# тест, который требует БД
pass
Таким образом, декораторы помогают сделать тесты более гибкими и читаемыми.