我正在尝试定义一个 dbt YAML 选择器,以便我可以为一组特定的模型运行模式测试。
YAML 选择器看起来像这样:
selectors:
- name: test_selector
definition:
union:
- intersection:
- node+
- tag:tag1
- intersection:
- node+
- tag:tag2
- intersection:
- node+
- +tag:tag3
- intersection:
- node+
- +tag:tag4
- exclude:
- config.materialized:view
- config.materialized:materialized_view
这个选择器描述了从单个节点上游和节点联合下游的节点选择,不包括视图和物化视图(在我们的 dbt 项目中自定义)。
使用这种语法,我可以使用 成功列出此语法指定的节点,dbt ls --selector test_selector --output name
并使用 成功运行指定的模型dbt run --selector test_selector
,但相同的行为似乎不适用于dbt test
。
当我尝试dbt test --selector test_selector
时,我收到输出
WARNING: Nothing to do. Try checking your model configs and model specification args
我希望与 类似dbt test
,此命令将运行与test_selector
选择中指定的模型相关的所有测试,但情况似乎并非如此。
似乎在语法概述--selector
中指定了该标志,并且文档的测试选择示例部分提到“您可以使用选择器方法检查正在测试的资源的配置属性”。没有任何在测试中使用标志的例子,所以我不确定我是否遗漏了什么。应该支持这种类型的语法还是我误解了文档?谢谢!dbt test
--selector