在虚拟机(Homestead)中使用Laravel运行黄昏时遇到端口3306和33060的问题,具体取决于测试



我有一个与Vagrant/Homestead的Laravel项目设置,现在想开始做一些黄昏测试。 当我运行测试以查看主页是否显示(具有某个元素(时,一切都很好。

但是,当我尝试添加实际创建用户并登录的第二个测试时,就会出现问题。它无法通过我的 .env(或 .env.dusk.local(文件中定义的端口 3306 连接到数据库。

问题是在Homestead中,这个虚拟机正在运行,当从我的主机连接到我的SQL DB时,我还必须向数据库端口添加一个额外的"0"。所以 3306 变成了 33060。因此,我尝试将.env.dusk.local中的数据库端口更改为33060,然后运行测试正常,但不再是主页测试。

到目前为止,我一直在研究这个解决方案,认为它与我的设置/问题有关,但它并没有给我带来任何进一步: 覆盖DbPort

Homestead 在虚拟机中使用端口 3306,并在本地计算机上通过 33060 公开此相同端口(通过localhost127.0.0.1连接时(。

相反,如果通过Homestead.yaml文件中的 IP 地址直接连接到虚拟机,则始终可以通过3306进行连接。就我而言,我的 Homestead IP 地址是192.168.10.10的,这使我可以将我的DB_PORT定义为3306,并让它在我运行测试的任何地方工作。

另一种选择是使用 Dusk 环境文件来覆盖特定于 Dusk 测试的任何环境变量 - 这将允许您将DB_PORT更新为33060

相关内容

最新更新