Расскажите о фикстурах pytest: зачем они нужны и как их создают?

В pytest фикстуры — это специальные функции, которые подготавливают и предоставляют тестам необходимые данные или окружение.

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

Что ответить на собеседовании

В pytest фикстуры — это специальные функции, которые подготавливают и предоставляют тестам необходимые данные или окружение. Они используются для настройки предусловий, например, создание тестовых данных, подключение к базе, настройка окружения и очистка после теста.

Подробный разбор

Ответ с пояснениями

В pytest фикстуры — это специальные функции, которые подготавливают и предоставляют тестам необходимые данные или окружение. Они используются для настройки предусловий, например, создание тестовых данных, подключение к базе, настройка окружения и очистка после теста.

Фикстуры позволяют избежать дублирования кода и делают тесты более читаемыми и поддерживаемыми. Их можно использовать повторно в разных тестах, а также задавать область видимости (например, на функцию, класс, модуль).

Пример фикстуры:

import pytest

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


def test_query(db_connection):
    result = db_connection.execute('SELECT 1')
    assert result == 1

Здесь фикстура db_connection создаёт подключение, передаёт его тесту, а после теста закрывает подключение.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее