首页 > 解决方案 > 如何使用 Doctrine Fixture 加载测试数据库进行 PHP 单元测试?

问题描述

我正在尝试设置一个数据库环境来测试我的 Doctrine ORM 实体类,而不更改我的真实数据库。

我遵循了Symfony 的文档,但是当我运行时,php bin/console doctrine:fixtures:load我收到了警告:

小心,数据库“图”将被清除。你想继续吗?(是/否)[否]:

尽管我已经在我的.env.test文件中设置了一个环境变量:

DATABASE_URL=mysql://testUser:testPassword@127.0.0.1/graph_test

编辑:这是整个.env.test文件:

# define your env variables for the test env here
KERNEL_CLASS='App\Kernel'
APP_SECRET='$ecretf0rt3st'
SYMFONY_DEPRECATIONS_HELPER=999999
PANTHER_APP_ENV=panther

# Database test
DATABASE_URL=mysql://testUser:testPassword@127.0.0.1/graph_test

我试图更改我的test/bootstrap.php文件,但我得到了同样的警告。

有没有办法告诉学说DATABASE_URL.env.test文件中获取价值?任何帮助将不胜感激。

PS 不需要多个测试 .env 文件。

标签: phpsymfonydoctrine-ormphpunitphpdotenv

解决方案


如果你使用php bin/console doctrine:fixtures:load --env=test你只会影响你的测试数据库。


推荐阅读