dbt Unit Test Format Choice
Goal
Test whether the LLM can correctly explain when to use different data formats (dict, csv, sql) in dbt unit tests.
Expected Behavior
The LLM should:
- Explain that
dict(inline YAML) is the default format and should be used by default - Explain when to use
sqlformat:- When testing a model that depends on an ephemeral model
- When unit testing columns with data types not supported by
dictorcsv - As a fallback when other formats won't work
- Explain when to use
csvformat:- When using fixture files (preferred over
sqlfor readability) - Fallback to
sqlif column data types aren't supported bycsv
- When using fixture files (preferred over
- Mention key tradeoffs:
sqlformat requires specifying ALL columns (less convenient)dictandcsvallow specifying only a subset of columnssqlis the most flexible but least readable
Evaluation Criteria
- Correct: Accurately describes when each format is appropriate
- Complete: Covers ephemeral model dependency requirement for
sql - Practical: Gives actionable guidance on format selection
- Accurate: Information matches current dbt documentation