Выбор ответа Senior dbt обновлено
Unit tests в dbt
Вопрос
Чем unit test в dbt (с версии 1.8) отличается от data test?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Unit test проверяет логику модели на заданных входах и ожидаемом выходе; data test реальные данные. Unit test описывает мок-строки для входных моделей и ожидаемый результат, это проверка логики трансформации, например сложного CASE или расчёта окна.
Варианты ответа
- Unit test проверяет только синтаксис SQL модели и корректность ссылок
refбез запуска в базе - Unit test запускается после каждой строки, вставленной в инкрементальную модель, и откатывает её
- Unit test проверяет логику модели на заданных входах и ожидаемом выходе; data test реальные данныеправильный ответ
- Разницы нет: unit tests это новое имя для data tests, введённое в dbt 1.8 вместе с ключом YAML
Разбор
Unit test описывает мок-строки для входных моделей и ожидаемый результат, это проверка логики трансформации, например сложного CASE или расчёта окна. Data test смотрит на фактические данные: уникальность, NULL, связи. Синтаксис проверяет компиляция. Построчного запуска нет. Data tests это переименованные «тесты» (в YAML ключ data_tests), а unit tests отдельная новая сущность.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.