Цепочки фикстур

Введение в тестирование на Python

Alexander Levin

Data Scientist

Что такое цепочка запросов

  • Цепочки фикстур — функция pytest, позволяющая одной фикстуре использовать другую
  • Создаёт композицию фикстур

fixture calls other fixture

Введение в тестирование на Python

Зачем и когда использовать

Цепочки фикстур позволяют:

  • Устанавливать зависимости между фикстурами
  • Поддерживать модульность кода

Когда это полезно:

  • Когда несколько фикстур зависят друг от друга
Введение в тестирование на Python

Пример цепочки запросов

# Fixture that is requested by the other fixture
@pytest.fixture
def setup_data():
    return "I am a fixture!"
# Fixture that is requested by the test function
@pytest.fixture
def process_data(setup_data):
    return setup_data.upper()
# The test function
def test_process_data(process_data):
    assert process_data == "I AM A FIXTURE!"
Введение в тестирование на Python

Как использовать цепочки запросов

  1. Подготовьте программу для тестирования
  2. Подготовьте тестовые функции
  3. Подготовьте фикстуры pytest
  4. Передайте имя фикстуры в сигнатуру другой фикстуры
# Fixture requesting other fixture
@pytest.fixture
def process_data(setup_data):
    return setup_data.upper()
Введение в тестирование на Python

Итоги

  • Цепочки фикстур — функция, позволяющая одной фикстуре использовать другую (создавая композиции фикстур)
  • Помогает разделить код по функциям и сохранить его модульность
  • Пример применения: этапы конвейера обработки данных
  • Для использования цепочки передайте имя фикстуры в сигнатуру другой фикстуры
Введение в тестирование на Python

Давайте потренируемся!

Введение в тестирование на Python

Preparing Video For Download...