Erstellen von Singular-Tests

dbt für Forgeschrittene

Mike Metzger

Data Engineer

Was ist ein Singular-Test?

  • Benutzerdefinierter Daten-Test
  • SQL-Abfrage
    • Gibt Zeilen zurück, die den Test nicht bestanden haben
  • Definiert als .sql-Datei im tests-Verzeichnis

Test image

1 Foto von Antoine Dautry auf Unsplash
dbt für Forgeschrittene

Beispiel für einen Singular-Test

  • Testerstellung zur Überprüfung:
    • order_total >= subtotal
select *
from order
where order_total < subtotal
  • Denke daran, wir möchten – wenn der Test fehlschlägt – Zeilen zurückerhalten, die den Test nicht bestehen.
  • Als assert_order_total_gte_subtotal.sql speichern

order_table schema diagram

dbt für Forgeschrittene

Singular-Test mit Jinja

  • Wir können Jinja in unseren Tests verwenden
    • ref Funktion
    • Andere nach Bedarf
  • dbt nimmt Ersetzungen vor, wenn der Test ausgeführt wird
    • Projekt mittels dbt run erneut ausführen, wenn sich das dbt-Profil verändert
select *
from {{ ref('order') }}
where order_total < subtotal
dbt für Forgeschrittene

Test-Debugging

  • Verwende einen SQL-Editor für die initiale Testabfrage
  • Platziere die Abfrage in der entsprechenden Datei
  • Stelle sicher, dass der Test einen eindeutigen Namen hat
  • Verwende die Option dbt test --select <testname>
  • Überprüfe alle Fehler und aktualisiere den Test
dbt für Forgeschrittene

Lass uns üben!

dbt für Forgeschrittene

Preparing Video For Download...