Sobes.tech
Back to questions
Junior — Middle
52

Какие параметры можно передавать в scope при использовании fixture в pytest?

Companies where asked
Медси

Answer from AI

sobes.tech AI

В pytest параметр scope у фикстур определяет время жизни и область видимости фикстуры. Основные значения:

  • function — фикстура создаётся заново для каждой тестовой функции (по умолчанию).
  • class — фикстура создаётся один раз на каждый тестовый класс.
  • module — фикстура создаётся один раз на каждый модуль (файл с тестами).
  • package — фикстура создаётся один раз на пакет (директорию).
  • session — фикстура создаётся один раз на всю сессию запуска тестов.

Пример:

import pytest

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

Здесь соединение с базой будет создано один раз на весь модуль.