Sobes.tech
Junior — Middle
95

Оё таҷрибаи кор бо механизмии доираи fixture дар чаҳорчӯбаи тестӣ доред?

Ширкатҳо дар куҷо пурсиданд
ООО Корпорация ЗНАК

Ҷавоб аз AI

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 создается один раз на модуль и используется в нескольких тестах, что экономит ресурсы и время.