YAML 配置中的变量赋值

您可以使用 CLI 工具在 YAML 配置文件中定义变量。 这些变量用于配置工具的各个方面。

您可以通过以下三种方式配置 YAML 文件:
  • 使用相同的 YAML 文件。
  • 使用环境变量
  • 使用外部配置 YAML 文件。
注: 变量必须括在双花括号中。 例如, "{{configs.base_url}}""{{paths.basePath}}"。 这些占位符的格式为 "{{...}}" ,根据优先级的不同,会被源 YAML 文件、环境变量或外部配置文件中的相应值替换。

变量分配的优先顺序层次结构如下所示:

  1. 外部配置 YAML 文件 (最高优先级)
  2. 环境变量
  3. 同一 YAML 文件中设置的配置 (最低优先级)
如果使用这三种方法配置 YAML 文件,则优先使用外部配置 YAML 文件分配的变量。

1. 同一 YAML 文件中的配置集

您可以从同一个 YAML 文件中为变量赋值。 为此,必须按以下方式构造 YAML 文件:

 configs:
    basePath: ...paths:
        - basePath: ...

此处, configs 键用于定义变量,例如 basePathpaths。 这些变量可在整个 YAML 文件中用于配置工具。

2. 环境变量

使用环境变量可以覆盖 YAML 文件中配置的变量值。 当环境变量与 YAML 文件中定义的变量共享相同的名称时, YAML 变量的值将替换为相应的环境变量。 这提供了一种在外部定制配置的方法。

例如,如果在 YAML 文件中将名为 base_url 的变量定义为 "{{configs.base_url}}",并且其值将替换为名为 base_url的环境变量。 YAML 文件中 base_url 的值被 base_url 环境变量的值覆盖。

3. 外部配置 YAML 文件

CLI 工具通过外部配置文件支持最高级别的配置优先顺序。 要使用外部配置文件,必须在使用 CLI 工具时使用 --config-file-c 标志指定其文件路径。 外部配置文件中定义的任何变量都会取代主 YAML 文件或环境变量中定义的变量。

例如,考虑一个外部配置文件 config.yaml ,其内容如下:

 external_config:
    base_url: https://example.comapi_key: your-api-key

当使用 --config-file=config.yaml 标志运行 CLI 工具时,在 config.yaml 文件中定义的变量将取代主 YAML 文件或环境变量中的相应变量。

有关如何将测试定义为 YAML 文件的更多信息,请参阅 测试定义语法