Symfony:加载 .env.test 文件

Symfony: Loading .env.test files

我认为这个 PR 解决了我遇到的问题 - 但我有这个补丁但它仍然没有按我预期的那样工作 - 我错过了什么或误解了什么?

https://github.com/symfony/symfony/pull/28533

我创建了一个 .env.test,其中包含以下内容:

DATABASE_URL_TEST=mysql://apps:@localhost:3306/mydb_test

然后我在 config/packages/test 目录中放置了一个 doctrine.yaml。

Symfony v4.2.3

但是当我从 CLI 运行 这个命令时:

APP_ENV=test bin/console doctrine:database:create --env=test

我收到一个错误:

Environment variable not found: "DATABASE_URL_TEST".

很明显 .env.test 文件没有被加载 - 我如何获取要加载的特定环境配置文件 - 除了 .env???

如果您的应用程序在某些时候确实是 Symfony 3.x 应用程序,我猜想是在升级过程中,UPGRADE 过程中的这两行被遗漏了:

Then, upgrade the contents of your console script and your front controller:

确实,bin/console 最近似乎已更改以反映对 DotEnv 组件所做的调整:https://github.com/symfony/recipes/commit/3e471cbc7d359b3ab245f3b0748d698e8d29692c#diff-2af50efd729ff8e61dcbd936cf2b114b

请注意,您还需要 https://github.com/symfony/recipes/blob/master/symfony/framework-bundle/4.2/config/bootstrap.php

我有一个非常相似的问题。我的问题是我的 phpunit.xml.dist 指向了错误的 bootstrap 文件:

之前:

bootstrap="vendor/autoload.php"

更改为:

bootstrap="tests/bootstrap.php"