Laravel 6 PHPUnit 测试 - 找不到驱动程序(SQL:PRAGMA foreign_keys = ON;)
Posted
技术标签:
【中文标题】Laravel 6 PHPUnit 测试 - 找不到驱动程序(SQL:PRAGMA foreign_keys = ON;)【英文标题】:Laravel 6 PHPUnit Testing - could not find driver (SQL: PRAGMA foreign_keys = ON;) 【发布时间】:2020-05-21 09:25:45 【问题描述】:我开始在 Laravel 中编写测试。我的应用程序工作正常,我可以登录、运行迁移,但是当我尝试测试登录时,我收到以下错误:
找不到驱动程序(SQL:PRAGMA foreign_keys = ON;)
我的数据库在 Postgres,我的测试如下:
/** @test */
public function user_login_ok()
$response = $this->json('POST', '/api/login', [
'email' => 'test@test.com',
'password' => 'test'
]);
$this->assertEquals(200, $response->getStatusCode());
我不担心(目前)我的测试是否足够好甚至正确,而是要解决这个错误。
【问题讨论】:
是否有专门用于测试的环境文件,或者phpunit.xmlphp
部分中是否有数据库的一些配置选项?如果是,这些设置可能会尝试使用您尚未设置的数据库连接。
非常感谢!
没问题。我为将来的问题访问者添加了带有评论内容的答案。随意接受。
【参考方案1】:
您可能需要在 phpunit 使用的 php.ini 文件中启用 pdo_sqlite
的扩展。
【讨论】:
【参考方案2】:您是否有特定于测试环境的.env
文件?
您的phpunit.xml
文件中有php
部分环境配置吗?
如果其中任何一个配置了您的数据库连接,则应检查它们以确保它们配置正确。
【讨论】:
以上是关于Laravel 6 PHPUnit 测试 - 找不到驱动程序(SQL:PRAGMA foreign_keys = ON;)的主要内容,如果未能解决你的问题,请参考以下文章
PHPUnit类“Error”不扩展PHPUnit_Framework_TestCase