Перейти к содержанию

Тестирование Airflow (Testing Airflow)

Тестирование DAG и задач снижает количество ошибок при деплое. Рекомендуемые практики:

  • Парсинг DAG — при импорте не должно быть исключений; можно написать тест, который загружает все DAG из папки (DagBag) и проверяет отсутствие import errors. Так же проверяют наличие ожидаемых DAG и задач.
  • Тесты задач — вызывать python_callable или логику оператора с тестовыми данными и контекстом (mock или фикстуры). Проверять возвращаемые значения, XCom, побочные эффекты (например, вызовы API через mock). Для TaskFlow-задач тестировать обычные Python-функции без декоратора.
  • Тесты зависимостей — проверить, что граф задач соответствует ожидаемому (списки upstream/downstream).
  • pytest — использовать фикстуры для временного окружения Airflow, БД, переменных. Модули airflow.models, airflow.utils и тестовые утилиты (например, airflow.utils.context.Context) помогают собирать контекст для задач.
  • CI — в пайплайне перед деплоем запускать тесты и проверку парсинга DAG (например, airflow dags list, загрузка DagBag в тесте).

Избегайте тяжёлой логики при импорте DAG (сеть, БД) — выносите её в задачи или в тестовые моки. Документация: Testing Airflow, Airflow testing.


← Синхронное выполнение | К содержанию