我知道我可以在我的phpunit.xml
中set an environment variable<php>
<env name="MY_VARIABLE" value="foo" />
</php>
所以这很好用
phpunit
// foo
但是,如果已在父shell中导出变量,则忽略该值。
export MY_VARIABLE=bar
phpunit
// bar
我需要为其他子进程导出此值,但我真的不想只是为了运行测试而打开另一个shell。如何配置phpunit以仅使用为测试环境定义的值?
答案 0 :(得分:2)
默认情况下,phpunit.xml
中定义的环境变量会被shell环境覆盖。此行为与环境变量在命令行工具中通常使用的方式一致。设置一个环境变量,我们通常希望它被传递给工具并被用来代替配置的值。
新的force
属性是在 PHPUnit 6.3 中引入的,让我们为所选变量禁用此行为:
<env name="FOO" value="bar" force="true" />
相关的github问题: