Sobes.tech
Back to questions
Middle+
7

Что такое фикстуры в pytest? Для чего используются?

Companies where asked
YadroYadro

Answer from AI

sobes.tech AI

В 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 создаёт подключение, передаёт его тесту, а после теста закрывает подключение.