Laravel / Phpunit: возможно ли принудительно установить соединение с БД через терминал? - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть проект Laravel.

Я хочу протестировать его на моей машине разработки + Travis / Scrutinizer с SQLite, плюс я хочу протестировать на другой машине с MySQL.

Это мой PHPUnitфайл, который работает как charme

<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
         backupStaticAttributes="false"
         bootstrap="vendor/autoload.php"
         colors="true"
         convertErrorsToExceptions="true"
         convertNoticesToExceptions="true"
         convertWarningsToExceptions="true"
         processIsolation="false"
         stopOnFailure="false">
    <testsuites>
        <testsuite name="Unit">
            <directory suffix="Test.php">./tests/Unit</directory>
        </testsuite>

        <testsuite name="Feature">
            <directory suffix="Test.php">./tests/Feature</directory>
        </testsuite>
    </testsuites>
    <filter>
        <whitelist processUncoveredFilesFromWhitelist="true">
            <directory suffix=".php">./app</directory>
        </whitelist>
    </filter>
    <logging>
        <!-- and this is where your report will be written -->
        <log type="coverage-clover" target="./logs/clover.xml"/>
    </logging>
    <php>
        <env name="DB_CONNECTION" value="sqlite"/>
        <env name="APP_ENV" value="testing"/>
        <env name="BCRYPT_ROUNDS" value="4"/>
        <env name="CACHE_DRIVER" value="array"/>
        <env name="MAIL_DRIVER" value="array"/>
        <env name="QUEUE_CONNECTION" value="sync"/>
        <env name="SESSION_DRIVER" value="array"/>
    </php>
</phpunit>

Я спрашиваю: есть ли возможность запустить по команде оболочки linux аналогичную команду (псевдокод, конечно):

./vendor/bin/phpunit --db_connection=mysql

?

1 Ответ

0 голосов
/ 13 февраля 2019

Невозможно динамически редактировать файл phpunit.xml из командной строки по умолчанию, но вы можете установить переменную окружения DB_CONNECTION (и другие переменные) следующим образом:

DB_CONNECTION=mysql ./vendor/bin/phpunit

Вы можете просмотреть дополнительные параметры для установки переменных среды в этом ответе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...