Когда я устанавливаю базу данных Config, она сбрасывает соединение с БД - PullRequest
0 голосов
/ 07 января 2019

Я хочу использовать php unit тесты для проверки конечной точки.

Я вызываю конечную точку из моего модульного теста.

В моей конечной точке, когда я говорю

public function __construct()
{
    \Config::set('database.default', 'pgsql-master');
     print_r(\Config::get('database.connections.pgsql-master.username')); // toters_testing_usr
}

Я полагаю, что это сбрасывает мое соединение с БД, и мое тестирование БД пустое.

потому что когда я говорю

 $env = config('app.env');
    if ($env == 'production')
    {
        \Config::set('database.default', 'pgsql-master');
    }

это беспокоит. Почему это происходит?

это мой phpunit.xml

<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
         backupStaticAttributes="false"
         bootstrap="bootstrap/autoload.php"
         colors="true"
         convertErrorsToExceptions="true"
         convertNoticesToExceptions="true"
         convertWarningsToExceptions="true"
         processIsolation="false"
         stopOnFailure="false"
         syntaxCheck="false">
    <filter>
        <whitelist>
            <directory suffix=".php">app/</directory>
        </whitelist>
    </filter>
     <listeners>
        <listener class="JohnKary\PHPUnit\Listener\SpeedTrapListener"></listener>
    </listeners>
    <php>
        <env name="APP_ENV" value="testing"/>
        <env name="API_STRICT" value="false"/>
        <env name="CACHE_DRIVER" value="array"/>
        <env name="SESSION_DRIVER" value="array"/>
        <env name="QUEUE_DRIVER" value="sync"/>
        <env name="RAVEN_LEVEL" value="none"/>
        <env name="MAIL_DRIVER" value="log"/>
        <ini name="display_errors" value="On" />
        <ini name="display_startup_errors" value="On" />
        <ini name="memory_limit" value="2048M" />
    </php>
</phpunit>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...