Доступ к параметру командной строки Behat или флагу в методе контекста
Можно ли получить значение параметра командной строки или посмотреть, установлен ли флаг командной строки из метода контекста Behat?
Я использую крючок, как описано здесь, чтобы установить файл cookie сеанса xdebug перед выполнением шагов. Это работает нормально, но я хотел бы иметь возможность контролировать, установлен ли файл cookie из командной строки.
В настоящее время у меня есть что-то вроде этого (упрощенно):
/**
* @BeforeStep
*/
public function xdebugCookie()
{
$this->getSession()->setCookie('XDEBUG_SESSION', 'PHPSTORM');
}
Но в идеале я хотел бы иметь возможность делать что-то вроде это:
/**
* @BeforeStep
*/
public function xdebugCookie()
{
if ($this->cliFlagSet('xdebug')) { // does this kind of functionality exist?
$this->getSession()->setCookie('XDEBUG_SESSION', 'PHPSTORM');
}
}
2
Author: Hugh Grigg 葛修远, 2015-07-02
1 answers
Вы можете использовать переменную среды для достижения того же самого:
/**
* @BeforeStep
*/
public function xdebugCookie()
{
if ('1' === getenv('XDEBUG')) {
$this->getSession()->setCookie('XDEBUG_SESSION', 'PHPSTORM');
}
}
Таким образом, вы можете определить переменную во время выполнения behat:
XDEBUG=1 ./bin/behat
Вы также можете экспортировать его, чтобы убедиться, что все запуски включают (или отключают) отладчик:
export XDEBUG=1
./bin/behat
1
Author: Jakub Zalas, 2015-07-04 10:40:01