Использование RefreshDatabase показывает, что драйвер не найден - PullRequest
0 голосов
/ 01 марта 2020

Я пытаюсь написать тесты в laravel, я делал это в течение некоторого времени, и это работало хорошо. В этом новом проекте я должен использовать TDD still и Refre sh Database. Когда я включаю использование RefreshDatabase, я получаю ошибку, которую я не получаю с другими проектами, над которыми я работал. В чем может быть проблема.

код, который я тестирую.

class ParentsTest extends TestCase
{
    use RefreshDatabase;

    /** @test */
    public function createParentTest(){
        $this->withoutExceptionHandling();
        $response = $this->post('/create-parent',[
            'fname' => 'Julius',
            'lname' => 'Ssemakula',
            'contact' => '256702913454'
        ]);
        $this->assertDatabaseHas('Parents', ['fname' => 'Julius']);
    }
}

я получаю ошибку

1) Tests \ Feature \ ParentsTest :: createParentTest Подсветка \ База данных \ QueryException: не удалось найти драйвер (SQL: PRAGMA foreign_keys = ON;)

1 Ответ

1 голос
/ 01 марта 2020

Вам необходимо установить соответствующий драйвер для базы данных, которую вы используете. Если вы используете Linux:

Сначала выясните, какую версию PHP вы используете, используя php --version. Я буду использовать php7.3 в демонстрационных целях.

Для MySQL:

sudo apt install php7.3-mysql

Для SQLite:

sudo apt install php7.3-sqlite

Для PostgreSQL:

sudo apt install php7.3-pgsql

После установки соответствующих драйверов ваши тесты должны работать.

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