Testování pipeline je klíčové pro spolehlivost. Unit testy, integration testy a automatizované quality checks v CI/CD.
Proč testovat pipeline¶
Netestované pipeline vedou k tichým chybám — špatná data v reportech.
Pyramid testů¶
- Unit testy — jednotlivé transformace
- Integration testy — celá pipeline
- Data quality testy — validace výstupů
- Contract testy — shoda s kontrakty
def test_removes_test_orders():
input_data = [
{"id": 1, "status": "confirmed"},
{"id": 2, "status": "test"},
]
result = run_model("stg_orders", input_data)
assert len(result) == 1
assert all(r["status"] != "test" for r in result)
CI/CD¶
# .github/workflows/data-ci.yml
jobs:
test:
steps:
- run: pip install dbt-duckdb
- run: dbt test
- run: soda scan -d test checks/
Shrnutí¶
Testování pipeline předchází tichým chybám. Unit testy, quality checks a CI/CD jsou základ spolehlivých dat.
testingdata pipelineci/cddata quality