Я знаю, что могу установить переменную среды внутри моего phpunit.xml
<php> <env name="MY_VARIABLE" value="foo" /> </php>
Так что это отлично работает
phpunit // foo
Однако это значение игнорируется, если переменная экспортирована в родительскую оболочку.
export MY_VARIABLE=bar phpunit // bar
Мне нужно это значение экспортировать для других дочерних процессов, но я действительно не хочу открывать другую оболочку только для запуска тестов. Как настроить phpunit для использования значений, определенных только для тестовой среды?
По умолчанию переменные среды, определенные в phpunit.xml
, переопределяются средой оболочки. Это поведение согласуется с тем, как переменные среды обычно используются в инструментах командной строки. Установка переменной среды мы обычно ожидаем, что она будет передана инструменту и будет использоваться вместо настроенного значения.
Новый атрибут force
был введен в PHPUnit 6.3, чтобы мы могли отключить это поведение для выбранных переменных:
<env name="FOO" value="bar" force="true" />
Связанные вопросы github: