Membuat tes tunggal

dbt Tingkat Menengah

Mike Metzger

Data Engineer

Apa itu tes tunggal?

  • Tes data kustom
  • Ditulis sebagai kueri SQL
    • Harus mengembalikan baris yang gagal
  • Didefinisikan sebagai file .sql di direktori tests

Gambar tes

1 Foto oleh Antoine Dautry di Unsplash
dbt Tingkat Menengah

Contoh tes tunggal

  • Buat tes untuk memverifikasi:
    • order_total >= subtotal
select *
from order
where order_total < subtotal
  • Ingat, kita ingin baris yang gagal: jika ada baris terambil, tes gagal.
  • Simpan file sebagai assert_order_total_gte_subtotal.sql

Diagram skema tabel order

dbt Tingkat Menengah

Tes tunggal dengan Jinja

  • Kita dapat memakai Jinja dalam tes
    • Fungsi ref
    • Lainnya sesuai kebutuhan
  • dbt mengganti output saat tes dijalankan
    • Jalankan ulang proyek jika profil dbt berubah
select *
from {{ ref('order') }}
where order_total < subtotal
dbt Tingkat Menengah

Debugging tes

  • Gunakan editor SQL untuk membuat kueri tes awal
  • Letakkan kueri di file yang tepat
  • Pastikan nama tes unik
  • Gunakan opsi dbt test --select <testname>
  • Periksa error dan perbarui seperlunya
dbt Tingkat Menengah

Ayo berlatih!

dbt Tingkat Menengah

Preparing Video For Download...