Какие знаешь scope fixture в Pytest

Python Senior Без компании
Какие знаешь scope fixture в Pytest
Ответы
Pytest предоставляет несколько уровней scope для фикстур, которые определяют, как часто фикстура будет создаваться и уничтожаться: - `function` (по умолчанию) - фикстура создается для каждого теста - `class` - фикстура создается один раз для класса тестов - `module` - фикстура создается один раз для модуля - `package` - фикстура создается один раз для пакета - `session` - фикстура создается один раз для всей сессии тестов Пример: ``` 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") == 1 def test_query2(db_connection): assert db_connection.execute("SELECT 2") == 2 ``` Здесь `db_connection` будет создана один раз для всего модуля, а не для каждого теста отдельно. Это полезно для ресурсоемких операций.