【发布时间】:2019-08-18 20:16:00
【问题描述】:
我一直在为我的 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
【问题讨论】:
-
如何运行测试?
-
我正在用 phpstorm 运行我的测试!当我运行
./vendor/bin/phpunit命令时一切正常 -
在你的单元测试中加入一些 phpinfo 调用并运行它。我认为,它使用了错误的版本
标签: php laravel unit-testing testing