我一直在为我的 Laravel 应用程序设置单元测试而苦苦挣扎,我遇到了错误...它说未安装 PDO 扩展并给我错误“找不到 PDOException 驱动程序”但它已安装! !。当我为我的应用程序提供服务时,一切正常!!!
还安装了 PDO:
28 => "json"
29 => "exif"
30 => "mysqli"
31 => "pdo_mysql"
32 => "pdo_sqlite"
33 => "Phar"
34 => "posix"
35 => "readline"
36 => "shmop"
这是我的测试代码:
<?php
namespace Tests\Unit;
use App\Models\User\User;
use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;
class ExampleTest extends TestCase
{
/**
* A basic test example.
*
* @return void
*/
public function testBasicTest()
{
factory(User::class)->create();
$this->assertTrue(true);
}
}
错误痕迹:
/home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664
/home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Connection.php:624
/home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Connection.php:459
/home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Connection.php:411
/home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php:32
/home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2653
/home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:1347
/home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:835
/home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:800
/home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:663
/home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php:206
/home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Support/Collection.php:419
/home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php:207
/home/soheil/Documents/Projects/PHP/EcollegeMe/vendor/laravel/framework/src/Illuminate/Database/Eloquent/FactoryBuilder.php:181
/home/soheil/Documents/Projects/PHP/EcollegeMe/tests/Unit/ExampleTest.php:18
Caused by
PDOException: could not find driver
最佳答案
检查您是否在 cli 上启用了 pdo 扩展,您可以通过在终端上运行 php -m
来执行此操作。
确保在 cli 和 fpm 模式下加载 pdo 扩展
编辑:您可以通过运行 php -i
关于php - Laravel 单元测试上的 PDO 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55391167/