gpt4 book ai didi

php - Laravel 多数据库 PHPUnit

转载 作者:可可西里 更新时间:2023-11-01 13:22:17 25 4
gpt4 key购买 nike

<分区>

我正在开发一个具有多个数据库访问权限的应用程序,我想对此进行 PHPUnit 测试。我目前的方法是在 config\databases.php多个连接(mysql、mysql2、mysql3),所以我可以在 env 文件中对所有连接进行不同的访问。因此,模型具有 $connection变量定义。在我的第一个功能测试中,我想访问一个页面并只查看我在工厂中提供的数据,所以只是为了开始。在我的 phpunit.xml文件我指定了 DB_CONNECTION成为sqlite并且每个 MySql 设置都有 value=":memory:" .

后期编辑

<php>
<env name="APP_ENV" value="testing"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="QUEUE_DRIVER" value="sync"/>
<env name="DB_CONNECTION" value="sqlite"/>
<env name="DB_DATABASE_1" value=":memory:"/>
<env name="DB_DATABASE_2" value=":memory:"/>
<env name="DB_DATABASE_3" value=":memory:"/>
</php>

所以上面你可以找到PHPUnit的相关代码。

.env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db1
DB_USERNAME=xxx
DB_PASSWORD=xxx

DB_HOST_2=127.0.0.1
DB_PORT_2=3306
DB_DATABASE_2=db2
DB_USERNAME_2=xxx
DB_PASSWORD_2=xxx

DB_HOST_2=127.0.0.1
DB_PORT_2=3306
DB_DATABASE_3=db3
DB_USERNAME_3=xxx
DB_PASSWORD_3=xxx

我遇到的问题是,当我运行测试时,出现此错误 -> PDOException: SQLSTATE[HY000] [1049] Unknown database ':memory:' .

所以不知何故 Laravel 没有解析内存值。任何建议将不胜感激。谢谢

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com