如何解决LANG 变量在测试环境中未被覆盖
我正在处理一个 Symfony 4.4 项目。该项目是从头开始创建的(它不是 3.4 代码库或类似内容的更新)。我正在向我的代码库添加自动化测试,但我遇到了环境变量问题。
在我的 .env
、.env.local
、.env.test
和 .env.test.local
中,我定义了一个 LANG
变量来设置应用程序语言。为了在我开发时正确测试翻译,我在 dev
环境(.env.local
文件)中设置了 LANG=es
,并且它可以正常工作。在生产中它也能正常工作,但在测试中,在 .env.test.local
文件中我设置了 LANG=ca
但 PHPUnit 和 bin/console debug:container --env-vars --env=test
都没有显示此变量的正确值,它的值只是 { {1}},我的 Ubuntu 系统中 es_ES.UTF-8
变量的值。
我在 $LANG
文件中定义了其他环境变量,这些都是正确的(如 .env.test.local
)。我还尝试在 DATABASE_URL
文件 (LANG
) 中添加 phpunit.xml.dist
,但它的值没有改变,它仍然是 <env name="LANG" value="ca" />
。
我也删除了 es_ES.UTF-8
目录,但它仍然不起作用。
我做错了什么?如何更改测试环境中的语言?
解决方法
检查https://symfony.com/doc/current/configuration.html#overriding-environment-values-via-env-local
真正的环境变量总是胜过由任何 .env 文件创建的环境变量。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。