Встречается на 1% собеседований по Python
Какие используешь scope у fixture в тестировании
В pytest фикстуры могут иметь разные уровни scope, определяющие, как часто они будут вызываться:
function(по умолчанию) - фикстура вызывается для каждой тестовой функцииclass- фикстура вызывается один раз для тестового классаmodule- фикстура вызывается один раз для модуляpackage- фикстура вызывается один раз для пакета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Выбор scope зависит от:
- Времени инициализации ресурса
- Необходимости изоляции тестов
- Возможности совместного использования ресурса
Важно помнить, что фикстуры с широким scope (module, session) должны быть thread-safe, если используются с pytest-xdist.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы