Встречается на собеседованиях • сегодня
Работал ли с областью видимости fixture
Да, работал. В pytest фикстуры имеют несколько областей видимости (scope), которые определяют, как часто фикстура будет вызываться во время тестов:
function(по умолчанию) - выполняется для каждой тестовой функцииclass- выполняется один раз для класса тестовmodule- выполняется один раз для модуляpackage- выполняется один раз для пакетаsession- выполняется один раз за сессию тестирования
Пример с разными scope:
python
import pytest
@pytest.fixture(scope='module')
def db_connection():
conn = create_db_connection() # Создаем соединение
yield conn
conn.close() # Закрываем после всех тестов модуля
def test_query1(db_connection):
result = db_connection.execute("SELECT 1")
assert result == 1
def test_query2(db_connection):
# Использует то же соединение, что и test_query1
result = db_connection.execute("SELECT 2")
assert result == 2Важно помнить, что фикстуры с более широким scope (например, session) выполняются до фикстур с более узким scope (например, function). Также нужно быть осторожным с изменяемыми объектами в фикстурах широкого scope, так как изменения будут видны между тестами.

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