0

我正在开发一个 Symfony 4.4 项目。该项目是从头开始创建的(它不是来自 3.4 代码库或类似代码的更新)。我正在向我的代码库添加自动化测试,但我遇到了环境变量问题。

在我.env.env.local,.env.test.env.test.local我定义了一个LANG变量,来设置应用程序语言。为了在我开发时正确测试翻译,在我设置的dev环境(.env.local文件)中LANG=es,它工作正常。在生产中它也可以正常工作,但在测试中,在.env.test.local我设置的文件中, LANG=caPHPUnit 也没有bin/console debug:container --env-vars --env=test显示这个变量的正确值,它的值只是Ubuntu 系统中变量es_ES.UTF-8的值。$LANG

我在.env.test.local文件中定义了其他环境变量,这些都是正确的(如DATABASE_URL)。我也尝试LANGphpunit.xml.dist文件中添加 ( <env name="LANG" value="ca" />),但它的值没有改变,它仍然是es_ES.UTF-8.

我也删除了var/cache/test目录,但它仍然不起作用。

我做错了什么?我可以做些什么来更改测试环境中的语言?

4

1 回答 1

1

检查https://symfony.com/doc/current/configuration.html#overriding-environment-values-via-env-local

真正的环境变量总是胜过任何 .env 文件创建的环境变量。

于 2021-01-22T12:51:12.373 回答