为了在 Symfony 4 中进行功能测试,我必须添加一个<env .../>
标签来phpunit.xml.dist
指定数据库凭据。
我对此感到尴尬的是,这phpunit.xml.dist
当然是致力于 VCS。这意味着数据库凭据,通常是 - 至少如果不使用 Docker - 主机特定的,被提交给 VCS。(另外:环境设置可能包含敏感数据。出于这两个原因,Symfony 文档说不.env
应该提交给 VCS。)
难道没有更明智的方法来处理这个问题吗?我希望 PHPUnit 只使用来自.env
. 这不可能吗?我知道我可以只在 shell 中指定 ENV 变量或从中导出它们.bashrc
,.profile
等等,但要么测试调用更复杂,要么我在项目之外有一堆项目配置。或者我可以自己编写脚本并让 shell 检查其中是否存在.env
文件pwd
并自动为下一个命令设置该文件,但这似乎有点开销……</p>
(顺便说一句:使用 SQLite 不是一种解决方案,因为 SQLite 不适合我们的需求。此外,数据库凭据只是一个示例。可能还需要配置其他设置<env>
。)