如何从命令行将环境变量传递给 Codeception YML 文件?

2024-02-26

我总是在 Codeception YML 文件中看到这种事情:

modules:
    enabled:
        - PhpBrowser:
            url: '%URL%'

如何从命令行将“URL”传递给 Codeception?或者任何其他方式!


它记录在https://codeception.com/docs/06-ModulesAndHelpers#Dynamic-Configuration-With-Parameters https://codeception.com/docs/06-ModulesAndHelpers#Dynamic-Configuration-With-Parameters

可以从环境变量动态配置模块。 参数存储应在全局codeception.yml中指定 params 部分内的配置。参数可以从以下位置加载 环境变量,来自 yaml(Symfony 格式)、.env(Laravel 格式)、 ini 或 php 文件。

使用全局配置文件的 params 部分 codeception.yml 指定如何加载它们。可以指定几个 要从中加载参数的源。

示例:从环境加载参数:

params:
    - env # load params from environment vars

示例:从 YAML 文件 (Symfony) 加载参数:

params:
    - app/config/parameters.yml

示例:从 php 文件加载参数 (Yii)

params:
    - config/params.php

示例:从 .env 文件加载参数 (Laravel):

params:
    - .env
    - .env.testing

加载后,参数变量可以用作模块配置 价值观。使用 % 包裹的变量名作为占位符 将被其值替换。

假设我们想要指定云测试服务的凭据。 我们已经从环境中加载了 SAUCE_USER 和 SAUCE_KEY 变量, 现在我们将它们的值传递到 WebDriver 的配置中:

modules:
   enabled:
      - WebDriver:
         url: http://example.com
         host: '%SAUCE_USER%:%SAUCE_KEY%@ondemand.saucelabs.com'

参数对于提供连接凭据也很有用 Db 模块(取自 Laravel 的 .env 文件):

modules:
    enabled:
        - Db:
            dsn: "mysql:host=%DB_HOST%;dbname=%DB_DATABASE%"
            user: "%DB_USERNAME%"
            password: "%DB_PASSWORD%"

如果你想在命令行中设置,可以这样设置:

URL=http://example.org codecept run

or

export URL=http://example.org
codecept run

上面的示例适用于 Bash,如果您使用不同的 shell,您可能需要执行其他操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从命令行将环境变量传递给 Codeception YML 文件? 的相关文章

随机推荐