laravel phpunit Неизвестная база данных ': memory: - PullRequest
1 голос
/ 19 марта 2019

Эта ошибка меня беспокоит. моя версия laravel 5.6 Я не думаю, что я внес какие-либо изменения в мой файл phpunit.xml, кроме этих

<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="MAIL_DRIVER" value="array"/>
        <env name="DB_CONNECTION" value="sqlite"/>
        <env name="DB_DATABASE" value=":memory:"/>

    </php>

Я пишу такой тест:

<?php

namespace Tests\Feature;

use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\DatabaseMigrations;

class DemoTest extends TestCase
{
    use DatabaseMigrations;

    public function test_it_is_nothing()
    {
        $this->get('/volunteers')->assertStatus('200');
    }
}

Я также ссылался на этот пост Laravel несколько баз данных PHPUnit , но не помогает.

1 Ответ

0 голосов
/ 19 марта 2019

Пожалуйста, убедитесь, что следующие вещи: -

  • убедитесь, что у вас установлен sqlite db
  • очистить вашу конфигурацию php artisan config:clear
  • также убедитесь, что ваш phpunit.xml существует в корневом каталоге вашего проекта
  • проверьте, есть ли в вашем phpunit.xml env DB_DRIVER, пожалуйста, удалите его
  • при запуске теста, попробуйте указать в вашей конфигурации phpunit.xml vendor/bin/phpunit --config PATH_TO_YOUR_PHPUNIT_XML_FILE
  • попробуйте обновить версию phpunit

Если ничего из вышеперечисленного не работает, попробуйте добавить другую конфигурацию базы данных в ваш config / database.php

'sqlite_testing' => [
    'driver'   => 'sqlite',
    'database' => ':memory:',
    'prefix'   => '',
]

тогда ваш phpunit.xml будет выглядеть так

<?xml version="1.0" encoding="UTF-8"?>
<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_DEFAULT" value="sqlite_testing" />
    </php>
</phpunit>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...