我有一个与Vagrant/Homestead的Laravel项目设置,现在想开始做一些黄昏测试。 当我运行测试以查看主页是否显示(具有某个元素(时,一切都很好。
但是,当我尝试添加实际创建用户并登录的第二个测试时,就会出现问题。它无法通过我的 .env(或 .env.dusk.local(文件中定义的端口 3306 连接到数据库。
问题是在Homestead中,这个虚拟机正在运行,当从我的主机连接到我的SQL DB时,我还必须向数据库端口添加一个额外的"0"。所以 3306 变成了 33060。因此,我尝试将.env.dusk.local中的数据库端口更改为33060,然后运行测试正常,但不再是主页测试。
到目前为止,我一直在研究这个解决方案,认为它与我的设置/问题有关,但它并没有给我带来任何进一步: 覆盖DbPort
Homestead 在虚拟机中使用端口 3306,并在本地计算机上通过 33060 公开此相同端口(通过localhost
或127.0.0.1
连接时(。
相反,如果通过Homestead.yaml
文件中的 IP 地址直接连接到虚拟机,则始终可以通过3306
进行连接。就我而言,我的 Homestead IP 地址是192.168.10.10
的,这使我可以将我的DB_PORT
定义为3306
,并让它在我运行测试的任何地方工作。
另一种选择是使用 Dusk 环境文件来覆盖特定于 Dusk 测试的任何环境变量 - 这将允许您将DB_PORT
更新为33060
。