Enkele tests maken

Gevorderde dbt

Mike Metzger

Data Engineer

Wat is een enkele test?

  • Aangepaste datatest
  • Geschreven als een SQL-query
    • Moet falende rijen teruggeven
  • Gedefinieerd als .sql-bestand in tests-mappen

Testafbeelding

1 Foto door Antoine Dautry op Unsplash
Gevorderde dbt

Voorbeeld van een enkele test

  • Maak een test om te controleren:
    • order_total >= subtotal
select *
from order
where order_total < subtotal
  • Let op: we willen rijen die falen. Als er rijen terugkomen, faalt de test.
  • Sla op als assert_order_total_gte_subtotal.sql

order_table-schemadiagram

Gevorderde dbt

Enkele test met Jinja

  • We kunnen Jinja in tests gebruiken
    • ref-functie
    • Andere waar passend
  • dbt vervangt de output bij het draaien van de test
    • Run het project opnieuw als je dbt-profiel wijzigt
select *
from {{ ref('order') }}
where order_total < subtotal
Gevorderde dbt

Tests debuggen

  • Gebruik een SQL-editor om de eerste testquery te maken
  • Plaats de query in het juiste bestand
  • Geef de test een unieke naam
  • Gebruik de optie dbt test --select <testname>
  • Controleer fouten en werk bij
Gevorderde dbt

Laten we oefenen!

Gevorderde dbt

Preparing Video For Download...