Я использую Laravel 5.3.22 и хочу выполнить модульное тестирование моего приложения, используя базу данных sqlite в памяти, переносящую/откатывающуюся назад для каждого теста, как сказано here. Это раздел Connections мой database.php конфигурации:Laravel игнорирует подключение к базе данных тестирования
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
...
],
'testing' => [
'driver' => 'sqlite',
'database' => ':memory:',
'prefix' => '',
],
Это PHPUnit окр конфигурации:
<php>
<env name="APP_ENV" value="testing"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="QUEUE_DRIVER" value="sync"/>
<env name="DB_CONNECTION" value="testing"/>
</php>
PHPUnit конфигурация предполагает, что Laravel Шоуда использовать «тестирование» подключение SQLite для тестирования, но его не волнует и продолжается с основным соединением mysql. Это не вариант, у меня большая и сложная схема, и она не может использоваться для модульного тестирования с помощью mysql. Как я могу продолжить? Я не могу высмеять построитель запросов, так как мне нужно утверждать его результаты.
большое спасибо .. я только что сэкономил время –