在使用Panther-Client执行功能测试时,在后台启动的Web服务器不使用“测试”环境。相反,它似乎使用了.env文件中提供的参数(当前指向“ dev”环境),因此我无法将测试数据库用于功能测试。
从技术上我可以理解这种情况的发生,因为启动的php-webserver对测试客户端使用的测试环境一无所知,只看到.env文件。
有没有我可以忽略的选择,可以告诉php-webserver在测试环境中启动,还是有人找到了解决此问题的另一种方法?
(硒测试似乎存在相同的问题,但是我没有找到解决方法。)
答案 0 :(得分:0)
感谢您指出我的方向。从那里,我发现了对更改负责的拉取请求:
https://github.com/symfony/recipes/pull/481
以及用于更新现有项目的文档
https://symfony.com/doc/current/configuration/dot-env-changes.html
一旦我相应地更新了项目,从pather启动的Web服务器现在将使用测试环境。
我必须弄清楚它们如何准确地告诉Web服务器在一个单独的进程中启动它将使用测试环境-但就目前而言,它可以按预期工作。 :-)
答案 1 :(得分:0)
我能够通过创建特定的 Panther 环境来解决这个问题:
将此行添加到 .env.test
:
PANTHER_APP_ENV=panther
然后创建一个文件 .env.panther
并将您的数据库设置添加到该文件中:
DATABASE_URL="mysql://user:password@mariadb:3306/test"