Интеграционные тесты с Airflow - PullRequest
0 голосов
/ 27 апреля 2018

Каков будет хороший / рекомендуемый способ проведения интеграционных тестов Airflow с BigQuery?

В Airflow, похоже, есть довольно много операторов, предназначенных для тестирования, например BigQueryCheckOperator. Я изо всех сил пытаюсь найти любые лучшие практики или примеры, которые показали бы, как использовать это для интеграционных тестов.

Каков рекомендуемый способ выполнения интеграционных тестов для:

  • Конкретные задачи
  • Целые DAG

В идеале, с тестовой средой, написанной на Python, поскольку Airflow также написан на Python, такой как pytest или аналогичный.

1 Ответ

0 голосов
/ 09 ноября 2018

Вы можете запустить тест на весь даг так:

import unittest
from airflow.models import DagBag

class TestDagIntegrity(unittest.TestCase):

LOAD_SECOND_THRESHOLD = 2

def setUp(self):
    self.dagbag = DagBag()

def test_import_dags(self):
    """ Test if dags works, no fail in import
    """
    self.assertFalse(
        len(self.dagbag.import_errors),
        'DAG import failures. Errors: {}'.format(
            self.dagbag.import_errors
        )
    )

suite = unittest.TestLoader().loadTestsFromTestCase(TestDagIntegrity)
unittest.TextTestRunner(verbosity=2).run(suite)

Будет проверено, работает ли ваш файл, нет ли ошибок при импорте или отсутствуют переменные

...