Junior — Middle
62
Какие специальные инструменты или функции для оборачивания и расширения тестовых функций вы применяли в своих проектах?
Answer from AI
sobes.tech AI
В Python для оборачивания и расширения тестовых функций часто используют декораторы. Они позволяют добавлять дополнительную логику до и после выполнения теста, например, настройку окружения, логирование, измерение времени выполнения или повторный запуск при неудаче.
Пример простого декоратора для измерения времени выполнения теста:
import time
def timing_decorator(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
end = time.time()
print(f"Время выполнения {func.__name__}: {end - start:.4f} секунд")
return result
return wrapper
@timing_decorator
def test_example():
# тестовый код
time.sleep(1)
# Запуск теста
test_example()
Также в популярных тестовых фреймворках, таких как pytest, есть встроенные фикстуры, которые позволяют расширять тесты, управлять ресурсами и параметризовать тесты без изменения их кода.