Створення поодиноких тестів

Середній рівень dbt

Mike Metzger

Data Engineer

Що таке поодинокий тест?

  • Користувацький тест даних
  • Пишеться як SQL-запит
    • Має повертати рядки, що не проходять перевірку
  • Визначається як файл .sql у теках tests

Зображення тесту

1 Photo by Antoine Dautry on Unsplash
Середній рівень dbt

Приклад поодинокого тесту

  • Створіть тест, щоб перевірити:
    • order_total >= subtotal
select *
from order
where order_total < subtotal
  • Пам'ятайте: нам потрібні рядки, що провалюють тест; якщо рядки повертаються, тест не пройдений.
  • Збережіть файл як assert_order_total_gte_subtotal.sql

Схема таблиці order

Середній рівень dbt

Поодинокий тест із Jinja

  • У тестах можна використовувати Jinja
    • Функція ref
    • Інші за потреби
  • Під час запуску тесту dbt підставляє (замінює) результат
    • Перезапустіть проєкт, якщо змінився профіль dbt
select *
from {{ ref('order') }}
where order_total < subtotal
Середній рівень dbt

Налагодження тестів

  • Використайте SQL-редактор, щоб створити початковий запит тесту
  • Розмістіть запит у відповідному файлі
  • Унікально назвіть тест
  • Використайте опцію dbt test --select <testname>
  • Перевірте помилки й за потреби оновіть
Середній рівень dbt

Давайте потренуємось!

Середній рівень dbt

Preparing Video For Download...