Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: pytest, fixture, setup, teardown

Что такое фикстуры (fixtures) в pytest и как их настраивать?

Вопрос проверяет умение использовать фикстуры для подготовки тестового окружения и повторного использования кода в тестах.

Короткий ответ

Фикстуры в pytest — это функции, которые подготавливают и возвращают данные или объекты для тестов. Их определяют с декоратором @pytest.fixture, а затем передают в тест через аргумент функции. Можно настраивать область видимости (scope) и параметризовать.

Длинный ответ

Создание фикстуры:

import pytest

@pytest.fixture
def db_connection():
    	conn = create_connection()
    	yield conn
    	conn.close()

Область видимости scope:

  • function (по умолчанию) — для каждого теста.

  • module — одна фикстура на модуль.

  • session — одна фикстура на весь запуск.

@pytest.fixture(scope="module")
def temp_dir(tmp_path_factory):
    	return tmp_path_factory.mktemp("data")

Параметризация:

Позволяет запускать одну фикстуру с разными значениями.

@pytest.fixture(params=[1, 2, 3])
def number(request):
    	return request.param

Автоматическое применение (autouse):

Фикстура выполнится для всех тестов без явного указания.

@pytest.fixture(autouse=True)
def enable_feature_flag():
    	setup_flag(True)

Когда использовать:

  • Подготовка окружения (базы, файлы).

  • Общие данные для нескольких тестов.

  • Удобство чтения и поддержки.

  • Аватар

    QA Manual Guru

    Ziyaev Ed

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • Python

    Python

  • Testing

Ключевые слова

#pytest

#fixture

#setup

#teardown

Подпишись на QA Engineer в телеграм

  • Аватар

    QA Manual Guru

    Ziyaev Ed

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.