LANG 变量在测试环境中未被覆盖
LANG variable isn't overriden in testing environment
我正在做一个 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
都没有显示这个变量的正确值,它的值只是 es_ES.UTF-8
,我的Ubuntu系统中$LANG
变量的值。
我在 .env.test.local
文件中定义了其他环境变量,这些都是正确的(如 DATABASE_URL
)。我也尝试在 phpunit.xml.dist
文件中添加 LANG
(<env name="LANG" value="ca" />
),但它的值没有改变,它仍然是 es_ES.UTF-8
.
我也删除了var/cache/test
目录,但是还是不行
我做错了什么?如何更改测试环境中的语言?
勾选https://symfony.com/doc/current/configuration.html#overriding-environment-values-via-env-local
Real environment variables always win over env vars created by any of the .env files.
我正在做一个 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
都没有显示这个变量的正确值,它的值只是 es_ES.UTF-8
,我的Ubuntu系统中$LANG
变量的值。
我在 .env.test.local
文件中定义了其他环境变量,这些都是正确的(如 DATABASE_URL
)。我也尝试在 phpunit.xml.dist
文件中添加 LANG
(<env name="LANG" value="ca" />
),但它的值没有改变,它仍然是 es_ES.UTF-8
.
我也删除了var/cache/test
目录,但是还是不行
我做错了什么?如何更改测试环境中的语言?
勾选https://symfony.com/doc/current/configuration.html#overriding-environment-values-via-env-local
Real environment variables always win over env vars created by any of the .env files.