В моем .env файл проекта Laravel 5.1 я поставил APP_ENV местным, но когда я запустить тест из терминала в сPHPUnit переопределение переменной в .env
vendor/bin/phpunit
отладку и умереть
dd(env(APP_ENV));
дает мне «тестирование».
У меня есть DonT хорошего исследования по этому вопросу, пытался использовать следующие способы -
- пытается установить APP_ENV = локальная конвейерный поставщик/бен/PHPUnit образует консоль.
- Попытка добавить переменную ENV в файле phpunit.xml
<env name="APP_ENV" value="local" override="true">
(кажется, доцент переопределения, хотя) - добавление файла .env.testing и установка APP_ENV = локальная
- в файле testCase.php, где приложение автозагрузки
$app->loadEnvironmentFrom('.env.testing');
Ни один из вышеперечисленных методов не дает мне ожидаемого результата, а каждый раз, когда я запускаю тест, APP_ENV запускает как «тестирование».
Невозможно отслеживать, где phpunit задает эту переменную. Помощь Pls!
Обычно вы не хотите, чтобы env был локальным, когда вы _testing_ с phpunit. Вы хотите иметь возможность различать между тестированием и локальным, чтобы вы могли использовать макетные классы для таких вещей, как вызовы БД и т. Д. –
Дело в том, что я использую сервер интеграции, который запускает тест с использованием phpunit, а конфигурация DB там разная, Из-за этого мне нужно использовать переменную env, чтобы быть разными в локальной машине-разработчике и в среде envirironment сервера интеграции. Но я не знаю, как это как-то переопределяет все и устанавливает APP_ENV для «тестирования» всегда –