Doctrine \ DBAL \ Driver \ PDOException: не удалось найти драйвер при попытке использовать фабрику в моих модульных тестах - PullRequest
0 голосов
/ 14 ноября 2018

Мои модульные тесты работают нормально, пока я не пытаюсь смоделировать объект БД.Я создал Фабрику и пытаюсь использовать ее в одном из моих тестов.Тем не менее, я продолжаю получать a could not find driver error.Я просмотрел несколько стековых ответов, и моя версия php - 7.1, так что я не совсем уверен, что является причиной ошибки.

Вот мой класс тестирования.

<?php
/**
 * Created by PhpStorm.
 */

namespace Tests\Unit\Helper\Results;

use Jobscan\Helper\Results\FormatHelper;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Jobscan\Models\Document\Cv;
use Tests\TestCase;

class FormatHelperTest extends TestCase
{
    public function testFindingsForUploadedDocxResume_whenFontTypeIsNotStandard_resultFontTypeShowsNegativeResult()
    {
        $cv = factory(Cv::class)->create([
            'content' => "Testing Test test",
        ]);
        dd($cv);



 }
}

В моемphpunit test

<env name="DB_CONNECTION" value="test_db"/>
<env name="DB_DATABASE" value=":memory:"/>

Это ошибка, которую я получаю

 Caused by
 Doctrine\DBAL\Driver\PDOException: could not find driver

файл database.php

 // This database is ephemeral and used for testing purposes.
        'test_db' => [
            'driver'   => 'sqlite',
            'database' => ':memory:',
            'prefix'   => '',
        ],

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Ваша ошибка означает, что он не находит драйвер sqlite в вашей PHP-библиотеке, что означает, что расширение загружено неправильно.Просмотрите файл php.ini (найдите его путь, выполнив: php --ini) и найдите:

extension=pdo_sqlite

Если это записано как:

;extension=pdo_sqlite, тогда вы должны удалить ;.

0 голосов
/ 14 ноября 2018

Определите метод setUp в своем тесте:

public function setUp()
{
    parent::setUp();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...