【问题标题】:Laravel 6 PHPUnit Testing - could not find driver (SQL: PRAGMA foreign_keys = ON;)Laravel 6 PHPUnit 测试 - 找不到驱动程序(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.xml php 部分中是否有数据库的一些配置选项?如果是,这些设置可能会尝试使用您尚未设置的数据库连接。
  • 非常感谢!
  • 没问题。我为将来的问题访问者添加了带有评论内容的答案。随意接受。

标签: php laravel postgresql sqlite phpunit


【解决方案1】:

您可能需要在 phpunit 使用的 php.ini 文件中启用 pdo_sqlite 的扩展。

【讨论】:

    【解决方案2】:

    您是否有特定于测试环境的.env 文件? 您的phpunit.xml 文件中有php 部分环境配置吗?

    如果其中任何一个配置了您的数据库连接,则应检查它们以确保它们配置正确。

    【讨论】:

      猜你喜欢
      • 2021-01-30
      • 2020-09-11
      • 2015-08-31
      • 1970-01-01
      • 2021-11-14
      • 2014-06-08
      • 2010-12-16
      • 1970-01-01
      • 2018-03-11
      相关资源
      最近更新 更多