Symfony 4:phpunit.xml.dist中的ENV

时间:2018-01-10 09:24:26

标签: symfony4

要在Symfony 4中使用功能测试,我必须向<env .../>添加一个phpunit.xml.dist标记,用于指定数据库凭据。

我觉得这很尴尬的是phpunit.xml.dist当然是致力于VCS。这意味着数据库凭证(通常是 - 至少如果不使用Docker - 特定于主机)将提交给VCS。 (另外:环境设置可能包含敏感数据。出于这两个原因,Symfony文档说.env不应该提交给VCS。)

难道没有更明智的方法来解决这个问题吗?我喜欢PHPUnit只使用.env中的配置。那可能吗?我知道我可以在shell中指定ENV变量或从.bashrc.profile等中导出它们,但是测试调用要么更复杂,要么我有一堆项目配置。项目。或者我可以自己编写脚本并让shell检查.env中是否存在pwd文件并自动为下一个命令设置该文件,但这似乎是一些开销......

(顺便说一句:使用SQLite不是一个解决方案,因为SQLite不适合我们的需求。此外,数据库凭据只是一个例子。可能还有其他需要使用<env>配置的设置同样。)

1 个答案:

答案 0 :(得分:1)

您可以使用phpunit.xml。如果phpunit.xml存在,PHPUnit将从中读取其文档而不是phpunit.xml.dist

我不确定是否有办法合并这两个配置文件。 (如果phpunit.xml.dist存在,似乎PHPUnit完全忽略了phpunit.xml。如果没有,那么这可能对你没有用。