Test configurations
Related documentation
▶Changelog
Tests can be configured in a few different ways:
- Properties within
.yml
definition (generic tests only, see test properties for full syntax) - A
config()
block within the test's SQL definition - In
dbt_project.yml
Test configs are applied hierarchically, in the order of specifity outlined above. In the case of a singular test, the config()
block within the SQL definition takes precedence over configs in the project file. In the case of a specific instance of a generic test, the test's .yml
properties would take precedence over any values set in its generic SQL definition's config()
, which in turn would take precedence over values set in dbt_project.yml
.
Available configurations
Click the link on each configuration option to read more about what it can do.
Test-specific configurations
- Project file
- Config block
- Property file
General configurations
- Project file
- Config block
- Property file
Examples
Add a tag to one test
If a specific instance of a generic test:
models/<filename>.yml
models:- name: my_modelcolumns:- name: idtests:- unique:tags: ['my_tag']
If a singular test:
tests/<filename>.sql
{{ config(tags = ['my_tag']) }}select ...
Set the default severity for all instances of a generic test
macros/<filename>.sql
{% test my_test() %}{{ config(severity = 'warn') }}select ...{% endtest %}
Disable all tests from a package
dbt_project.yml
tests:package_name:+enabled: false