Как установить другую переменную среды Phpunit?

В нашем коде у нас есть строка:

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 и нашего кода?

1

Решение

если 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

Надеюсь это поможет

0

Другие решения

Других решений пока нет …