php laravel并行测试无法创建数据库

uyto3xhc  于 2022-12-02  发布在  PHP
关注(0)|答案(1)|浏览(123)

我尝试在并行模式下运行laravel功能测试,因为它在文档中。我的phpunit.xml配置如下:

<php>
        <env name="APP_ENV" value="testing"/>
        <env name="BCRYPT_ROUNDS" value="4"/>
        <env name="CACHE_DRIVER" value="array"/>
        <env name="SESSION_DRIVER" value="array"/>
        <env name="QUEUE_DRIVER" value="sync"/>
        <env name="MAIL_DRIVER" value="array"/>
        <env name="DB_CONNECTION" value="mysql"/>
    </php>

并且我正在使用以下命令运行测试:

php artisan test --parallel

结果是所有测试都失败,并显示以下错误消息:

PDOException: SQLSTATE[HY000] [1049] Unknown database 'mydbname_test_11'

我应该在开始测试之前创建这个数据库还是laravel自动创建这个数据库?

cetgtptt

cetgtptt1#

正如文档所述,Laravel将创建多个数据库,以避免并行进程与彼此的数据冲突。
根据错误,假设这是postgres数据库,为用户添加创建数据库的权限。
访问客户端

psql test_db test

要执行的命令

ALTER USER test CREATEDB;

相关问题