Назад к вопросам
Junior — Middle
64
Имел ли опыт работы с механизмом области видимости fixture в тестовых фреймворках?
Компании, где спрашивали
ООО Корпорация ЗНАК
Ответ от нейросети
sobes.tech AI
В тестовом фреймворке pytest в Python механизм области видимости (scope) fixture определяет, как долго живет fixture и когда она создается и уничтожается. Основные области видимости:
- function (по умолчанию): fixture создается для каждого теста отдельно.
- class: fixture создается один раз на весь класс тестов.
- module: fixture создается один раз на весь модуль (файл с тестами).
- session: fixture создается один раз на всю сессию запуска тестов.
Пример:
import pytest
@pytest.fixture(scope="module")
def db_connection():
conn = create_connection()
yield conn
conn.close()
def test_query1(db_connection):
assert db_connection.query("SELECT 1") == 1
def test_query2(db_connection):
assert db_connection.query("SELECT 2") == 2
Здесь db_connection создается один раз на модуль и используется в нескольких тестах, что экономит ресурсы и время.