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.