В нашем коде у нас есть строка:
if (Configure::read('environment') != 'live') {
ConnectionManager::alias(Configure::read('environment'), 'default');
}
Это означает, что всякий раз, когда наш код не работает, наше соединение будет установлено как «по умолчанию», и у нас это соединение находится в app.php
У меня проблема с этим.
Так как мы используем CircleCI, наш код PhpUnit завершается сбоем, и каждый раз он возвращается.
Поэтому мне нужно установить для PhpUnit другую переменную окружения (мне нужно использовать «test», а не «default»).
Уже попробовал:
Сценарий —
<php>
<ini name="memory_limit" value="-1"/>
<ini name="apc.enable_cli" value="1"/>
<env name="test" value="test"/>
</php>
Внутри phpunit.xml.dist
Я поставил <env name='test' value='test'/>
надеясь, что это будет установлено для phpunit другой среды.
У меня вопрос, как установить различные среды для PhpUnit и для остальной части кода? Или позвольте мне перефразировать его, как я могу использовать разные переменные окружения для CircleCi и PhpUnit и нашего кода?
если Configure::read
читать из env с GETENV функция, вы можете использовать env как:
<php>
<ini name="memory_limit" value="-1"/>
<ini name="apc.enable_cli" value="1"/>
<env name="environment" value="test"/>
</php>
Вы можете создать другой файл конфигурации, например phpunit-circleci.xml, и использовать его в качестве аргумента, например:
phpunit -c phpunit-circleci.xml
Надеюсь это поможет
Других решений пока нет …