要在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>
配置的设置同样。)
答案 0 :(得分:1)
您可以使用phpunit.xml
。如果phpunit.xml
存在,PHPUnit将从中读取其文档而不是phpunit.xml.dist
。
我不确定是否有办法合并这两个配置文件。 (如果phpunit.xml.dist
存在,似乎PHPUnit完全忽略了phpunit.xml
。如果没有,那么这可能对你没有用。