Korleis bruke unit-testar i dbt for makroar
20.11.2024 | 2 min lesetidKategori: Data Engineering | Emneknagger: #dbt, #testing
Har du blitt glad i dbt sine unit-testar, men lurer på korleis dei kan nyttast for makroar? Eller venter du eventuelt på gode use caser for å ta dei i bruk? Me deler eit foreslått test-rammeverk som mogleggjere einingstesting av makroar i dbt.
Me treng betre test-støtte for makroar
Såkalla einingstesting er ein viktig del av softwareutvikling, men er ofte vanskelig å implementere for datatransformasjonar. Med dbt 1.8 kom endeleg støtta for å einingsteste modellar, men med nokre begrensningar.
Makroar passar intuitivt som hand i hanske for einingstesting sidan dei sjølve er små logikkeiningar som tek noko input og genererer noko output. Det er og særs nyttig for dei som vedlikeheld pakker å kunne definere enkelt både teste og utvide test-oppsettet for makroane dei har utvikla, då innføring av feil potensielt kan treffe mange sluttbrukarar.
Men foreløpig er det ikkje støtte for å teste makroar direkte, og ein er difor avhengig av å tenkje litt kreativt for å finne eit oppsett som fungere godt.
Les meir om rammeverket for makro-einingstesting på Medium
Nyleg fann eg fram til eit testrammeverk som ser ut til fungere godt for makroar i dbt, og dette har eg skrive meir om i Medium-artikkelen under.
I korte trekk handlar det om å bruke ein ephemeral
modell som kjelde, og deretter bruke denne i enkle modellar som bruker ein gitt makro. Deretter er det rett fram å benytte seg av det normale oppsettet for unit test
, og dermed er det mogleg å og få testa logikken i makroane dine sånn at feil ikkje treff produksjon.
Lær meir om dbt
Eg har tidlegare skrive ein enkel artikkel om korleis ein kan kome i gong med dbt, så ta gjerne ein kikk kikk om du er ein heilt fersk bruker.