Мне нужно запустить тесты с отдельной базой данных
Я использую POSTGRESQL в качестве драйвера базы данных.
Мой конфиг / database.php
'pgsql' => [
'driver' => 'pgsql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
'sslmode' => 'prefer',
],
Специально для запуска тестов, которые я определил DB_DATABASE
в phpunit.xml
<php>
<env name="APP_ENV" value="testing"/>
<env name="BCRYPT_ROUNDS" value="4"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="QUEUE_DRIVER" value="sync"/>
<env name="MAIL_DRIVER" value="array"/>
<env name="TELESCOPE_ENABLED" value="false"/>
...
<env name="DB_DATABASE" value="database_test"/>
</php>
Но когда я запускаю свои тесты PHPUnit, я получаю ошибку
PDOException: SQLSTATE [08006] [7] FATAL: база данных «database_test» не существует