我总是在 Codeception YML 文件中看到这种事情:
modules:
enabled:
- PhpBrowser:
url: '%URL%'
Run Code Online (Sandbox Code Playgroud)
如何从命令行将“URL”传递给 Codeception?或者任何其他方式!
Nak*_*lda 13
它记录在https://codeception.com/docs/06-ModulesAndHelpers#Dynamic-Configuration-With-Parameters
\n\n\n\n\n可以从环境变量动态配置模块。\n 参数存储应在 params 部分内的全局 codeception.yml\n 配置中指定。参数可以从环境变量、yaml(Symfony 格式)、.env(Laravel 格式)、ini 或 php 文件加载。
\n\n使用全局配置文件 codeception.yml 的 params 部分指定如何加载它们。您可以指定多个\n 参数源来加载参数。
\n\n示例:从环境加载参数:
\n\nRun Code Online (Sandbox Code Playgroud)\n\nparams:\n - env # load params from environment vars\n
示例:从 YAML 文件 (Symfony) 加载参数:
\n\nRun Code Online (Sandbox Code Playgroud)\n\nparams:\n - app/config/parameters.yml\n
示例:从 php 文件加载参数 (Yii)
\n\nRun Code Online (Sandbox Code Playgroud)\n\nparams:\n - config/params.php\n
示例:从 .env 文件加载参数 (Laravel):
\n\nRun Code Online (Sandbox Code Playgroud)\n\nparams:\n - .env\n - .env.testing\n
加载后,参数变量可以用作模块配置值。使用 % 包裹的变量名作为占位符,\n 将被其值替换。
\n\n假设\xe2\x80\x99s 说我们要指定云测试服务的凭据。\n 我们已经从环境中加载了 SAUCE_USER 和 SAUCE_KEY 变量,\n 现在我们将它们的值传递到 WebDriver 的配置中:
\n\nRun Code Online (Sandbox Code Playgroud)\n\nmodules:\n enabled:\n - WebDriver:\n url: http://example.com\n host: \'%SAUCE_USER%:%SAUCE_KEY%@ondemand.saucelabs.com\'\n
参数对于为 Db 模块提供连接凭据也很有用(取自 Laravel\xe2\x80\x99s .env 文件):
\n\nRun Code Online (Sandbox Code Playgroud)\nmodules:\n enabled:\n - Db:\n dsn: "mysql:host=%DB_HOST%;dbname=%DB_DATABASE%"\n user: "%DB_USERNAME%"\n password: "%DB_PASSWORD%"\n
如果你想在命令行中设置,可以这样设置:
\n\nURL=http://example.org codecept run\n
Run Code Online (Sandbox Code Playgroud)\n\n或者
\n\nexport URL=http://example.org\ncodecept run\n
Run Code Online (Sandbox Code Playgroud)\n\n上面的示例适用于 Bash,如果您使用不同的 shell,您可能需要执行其他操作。
\n