用于测试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标志从这些名称中进行选择。在
    • 这些值是测试序列定义。在

另外,还有:

  • projects

目标

目标块就像dbtcore中使用的目标块。但是,有一个特殊的变化:schema字段应该包含一个{{ var('_dbt_random_suffix') }},测试套件将插入其中。在

序列

序列有一个name(序列名)、一个project(要使用的项目名)和sequence(一组测试步骤)。可以内联声明新序列,也可以使用内置序列的名称。序列本身就是一系列步骤。您可以在sequences/文件夹中找到内置序列形式的示例。在

我们鼓励您尽可能多地使用内置列表中的序列而不进行修改。在

项目

最小项目只包含一个name字段。值是项目的名称-序列包括项目名称。在

项目还有一个可选的paths块,其中的键是相对文件路径(指向将要写入的dbt_project.yml),值是这些文件的内容。在

有一个dbt_project_yml块,它应该是一个将被更新为默认dbt的字典_项目.yml(设置名称、版本和配置版本)。在

与声明name字段不同,项目定义可以有一个overrides字段来命名一个内置项目。测试套件将使用这些覆盖更新命名的内置项目,而不是用新的覆盖整个项目。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何获取所有链接并使用SeleniumWebDriver逐个单击这些链接   java中数组列表的arraylist移位元素   java如何存储具有不同类型参数的元素   java不能使用List<Future<?>>当从不同位置调用时,在方法参数中   java我应该如何修复代码以避免测试代码出错?   安卓 PreferenceFragment java。lang.RuntimeException   java在运行emulator时发现错误   java取消多个AsyncTask回调的有效方法是什么?如果中途满足条件,这些回调将在将来返回?   有没有办法在运行时将方法动态分配给Java类?   java如何将propertyfile与GlassFish一起使用   如何在PHP中使用bcrypt对密码进行哈希处理?   Java和UDP web服务器   java JPA允许EntityListeners执行JPA操作吗?   java执行do while语句时不会产生错误   java无法在edittext中显示数据库中的数据   java Tomcat中活动会话的数量   java在何处使用@SuppressWarnings(“requestfactory”)   netty连接中的java HornetQ异常