Middle
43
Cosa sono i decoratori in Python e dove vengono usati nei test?
Le aziende dove è stato chiesto
Octo
Risposta dell'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
Таким образом, декораторы помогают сделать тесты более гибкими и читаемыми.