Integration Tests¶
Test interactions between components — where one piece of the system talks to another.
Focus¶
- Service-to-service interactions
- Database interactions
- API calls
- Queue producers and consumers
- Pipeline component boundaries
Characteristics¶
- Slower than unit tests — acceptable
- Use real or realistic test doubles at boundaries
- Cover the contract between components, not internal logic
Guidance¶
- Run as part of CI in a dev or test environment
- Use sanitised or synthetic datasets, not production data
- Focus on the handoff points between components
Data-Specific Examples¶
- Python scripts invoking dbt models
- Data flowing correctly between pipeline stages
- Dependency checks across dbt models
- Cross-table referential integrity