You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CSV作为输入输出运行dbt单元测试时遇「File not found for fixture」错误

解决dbt单元测试「File not found for fixture」错误

路径规则说明

dbt单元测试的fixture文件路径是相对于测试配置YAML文件所在目录,而非项目根目录或tests/根目录,这是多数人踩坑的核心原因。

针对性修复方案

根据你的测试配置文件位置,选择对应路径写法:

  • 如果测试YAML放在models/目录下(比如models/core/test_configs.yml):
    使用项目根目录相对路径,直接指向tests/fixtures下的文件:

    unit_tests:
      - name: check_complicate_stuff
        description: "blabla"
        model: core_display
        given:
          - input: ref('model')
            format: csv
            fixture: tests/fixtures/mock_core_table.csv
        expect:
          format: csv
          fixture: tests/fixtures/expected_output.csv
    
  • 如果测试YAML放在tests/目录下(比如tests/unit_tests/core_tests.yml):
    使用相对于该YAML文件的路径(因为tests/fixtures和tests/unit_tests同级):

    unit_tests:
      - name: check_complicate_stuff
        description: "blabla"
        model: core_display
        given:
          - input: ref('model')
            format: csv
            fixture: ../fixtures/mock_core_table.csv
        expect:
          format: csv
          fixture: ../fixtures/expected_output.csv
    

额外排查项

  • 核对文件名大小写:dbt对路径大小写敏感,确保配置里的文件名和实际文件完全匹配
  • 验证文件存在性:手动确认tests/fixtures/下确实存在mock_core_table.csv和expected_output.csv,无拼写错误
  • 检查文件权限:确保运行dbt的用户拥有读取这些CSV文件的权限

内容的提问来源于stack exchange,提问作者Javier Lopez Tomas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 18:13:16