dbt测试文档未生成:自定义测试的文档无法展示
解决dbt自定义测试文档不显示的问题
问题根源
你当前的YAML配置错误地将自定义测试(本质是dbt宏)的元数据放在了tests节点下,而tests节点是用来配置具体模型上的测试实例的,并非自定义测试本身的文档配置入口。自定义测试属于dbt宏的一种,需要通过macros节点来配置其元数据。
修复步骤
修正YAML文件结构
将你的test.yml内容修改为以下结构,使用macros节点定义自定义测试的文档:version: 2 macros: - name: test_sum description: '验证两个数字的求和结果是否与指定的total值一致'确保文件位置正确
将修改后的YAML文件放在自定义测试宏所在的目录下(比如你的test_sum.sql宏文件在macros/目录,就把YAML文件命名为macros/test_sum.yml),方便维护。重新生成并查看文档
执行以下命令重新生成文档并启动服务:dbt docs generate dbt docs serve现在你可以在文档页面的Macros板块找到这个自定义测试的说明;如果该测试被应用到具体模型上,在对应模型的测试列表中也会显示这个描述。
额外说明
如果需要给某个模型上的具体测试实例添加专属文档,可在模型的schema.yml中配置,示例如下:
version: 2 models: - name: 目标模型名 columns: - name: total tests: - test_sum: summand_a: 列名a summand_b: 列名b description: '验证当前模型中列a与列b的和是否等于total列的值'
内容的提问来源于stack exchange,提问作者mthb
相关产品推荐
相关产品推荐

