用于测试dbt适配器插件的pytest插件
pytest-dbt-adapter的Python项目详细描述
适配器插件的测试套件。在
安装和使用
pip install pytest-dbt-adapter
您需要使用pip install pytest-dbt-adapter
安装这个包并编写一个specfile,它是一个以.dbtspec
结尾的yaml文件。请参阅specs
中包含的spark/postgres示例。还可以编写自定义测试序列并重写现有的默认项目。在
安装此包后,您应该能够使用pytest path/to/mytest.dbspec
运行规范。您还需要在环境中安装dbtcore和适配器插件。在
规格
规范至少由两部分组成:
target
块sequences
块- 键是测试名称。您可以使用pytest的
-k
标志从这些名称中进行选择。在 - 这些值是测试序列定义。在
- 键是测试名称。您可以使用pytest的
另外,还有:
projects
块
目标
目标块就像dbtcore中使用的目标块。但是,有一个特殊的变化:schema
字段应该包含一个{{ var('_dbt_random_suffix') }}
,测试套件将插入其中。在
序列
序列有一个name
(序列名)、一个project
(要使用的项目名)和sequence
(一组测试步骤)。可以内联声明新序列,也可以使用内置序列的名称。序列本身就是一系列步骤。您可以在sequences/
文件夹中找到内置序列形式的示例。在
我们鼓励您尽可能多地使用内置列表中的序列而不进行修改。在
项目
最小项目只包含一个name
字段。值是项目的名称-序列包括项目名称。在
项目还有一个可选的paths
块,其中的键是相对文件路径(指向将要写入的dbt_project.yml
),值是这些文件的内容。在
有一个dbt_project_yml
块,它应该是一个将被更新为默认dbt的字典_项目.yml(设置名称、版本和配置版本)。在
与声明name
字段不同,项目定义可以有一个overrides
字段来命名一个内置项目。测试套件将使用这些覆盖更新命名的内置项目,而不是用新的覆盖整个项目。在
- 项目
标签: