1

使用 Panther-Client 执行功能测试时,在后台启动的网络服务器不使用“测试”环境。相反,它似乎使用了 .env 文件中提供的参数(当前指向“dev”环境),因此我不能使用测试数据库进行功能测试。

从技术上讲,我可以理解这种情况,因为启动的 php-webserver 对测试客户端使用的测试环境一无所知,只看到 .env 文件。

是否有任何我忽略的选项可以告诉 php-webserver 在测试环境中启动,或者是否有人找到了解决此问题的另一种解决方案?

(硒测试似乎也存在同样的问题,但我也没有找到解决方案。)

4

2 回答 2

1

我可以通过创建一个特定的 Panther 环境来解决这个问题:

将此行添加到.env.test

PANTHER_APP_ENV=panther

然后创建一个文件.env.panther并将您的数据库设置添加到该文件中:

DATABASE_URL="mysql://user:password@mariadb:3306/test"
于 2021-04-03T16:37:53.387 回答
0

感谢您为我指明了这个方向。从那里我找到了对更改负责的拉取请求:

https://github.com/symfony/recipes/pull/481

以及更新现有项目的文档

https://symfony.com/doc/current/configuration/dot-env-changes.html

一旦我相应地更新了我的项目,从 pather 启动的网络服务器现在使用测试环境。
我必须弄清楚他们如何准确地告诉在单独进程中启动的网络服务器它应该使用测试环境 - 但目前,它按预期工作。:-)

于 2019-02-18T18:22:17.007 回答