Встречается на собеседованиях • сегодня

Что такое scope у fixture в тестировании

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

  1. function (по умолчанию) - выполняется для каждой тестовой функции
  2. class - выполняется один раз для тестового класса
  3. module - выполняется один раз для модуля
  4. package - выполняется один раз для пакета
  5. session - выполняется один раз за всю сессию тестирования

Пример:

python
import pytest

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

def test_query1(db_connection):
    assert db_connection.execute("SELECT 1") is not None

def test_query2(db_connection):
    assert db_connection.execute("SELECT 2") is not None

В этом примере соединение с БД создается один раз для всего модуля, а не для каждого теста, что ускоряет выполнение.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы