Я пытаюсь использовать environment-variable-behat-params , чтобы перезаписать следующее значение в моем YAML
:
my_profile:
suites:
domain:
contexts:
- MyContext:
- my_config:
setting_setting: data
other_setting_setting: other_data
Это команда экспорта:
export BEHAT_PARAMS='{"suites":{"domain":{"contexts":{"MyContext":{"my_config":{"my_setting":"on"}}}}}}'
И это код PHP:
/** @BeforeSuite */
public static function prepare(BeforeSuiteScope $scope) {
$my_settings = $scope->getEnvironment()
->getContextClassesWithArguments()['MyContext'][0];
if (isset($my_settings['my_setting']) && $my_settings['my_setting'] == 'on') {
//do something here
}
}
Кажется, что он соответствует документации, но my_setting
остается off
вместо обновления до on
.
Если я попытаюсь использовать ключ с корневым уровнем my_profile
, например:
my_profile:
my_config:
setting_setting: data
С помощью этой команды экспорта:
export BEHAT_PARAMS='{"my_config":{"my_setting":"on"}}'
Тогда я получуэта ошибка:
В строке 311 ArrayNode.php:
[Symfony \ Component \ Config \ Definition \ Exception \ InvalidConfigurationException] Нераспознанная опция "my_settings" в разделе "testwork"
Трассировка исключений: Symfony \ Component \ Config \ Definition \ ArrayNode-> normalizeValue () в /sites/scorecards/vendor/symfony/config/Definition/BaseNode.php:368 Symfony \ Component \ Config \ Definition \ BaseNode->normalize () в /sites/scorecards/vendor/symfony/config/Definition/Processor.php:35 Symfony \ Component \ Config \ Definition \ Processor-> process () в /sites/scorecards/vendor/behat/behat/src/Behat/Testwork/ServiceContainer/ContainerLoader.php:81 Behat \ Testwork \ ServiceContainer \ ContainerLoader-> processConfig () в/sites/scorecards/vendor/behat/behat/src/Behat/Testwork/ServiceContainer/ContainerLoader.php:65 Behat \ Testwork \ ServiceContainer \ ContainerLoader-> load () в / sites / Scorecards / vendor / behat / behat / src /Behat / Testwork / Cli / Application.php: 185 Behat \ Testwork \ Cli \ Application-> createContainer () по адресу /sites/scorecards/vendor/behat/behat/src/Behat/Testwork/Cli/Application.php:161 Behat \Testwork \ Cli \ Application-> createCommand () в /sites/scorecards/vendor/behat/behat/src/Behat/Testwork/Cli/Application.php:122 Behat \ Testwork \ Cli \ Application-> doRun () в / sites/scorecards/vendor/symfony/console/Application.php:148 Symfony \ Component \ Console \ Application-> run () в / sites / Scorecards / vendor / behat / behat / bin / behat: 34
.. как я могу это исправить?