为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Doctrine Fixture 加载测试数据库进行 PHP 单元测试?

如何使用 Doctrine Fixture 加载测试数据库进行 PHP 单元测试?

PHP
肥皂起泡泡 2023-07-30 13:03:06
我正在尝试设置一个数据库环境来测试我的 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 hereKERNEL_CLASS='App\Kernel'APP_SECRET='$ecretf0rt3st'SYMFONY_DEPRECATIONS_HELPER=999999PANTHER_APP_ENV=panther# Database testDATABASE_URL=mysql://testUser:testPassword@127.0.0.1/graph_test我尝试更改我的test/bootstrap.php文件,但收到相同的警告。DATABASE_URL有没有办法告诉原则从文件中获取值.env.test?任何帮助将不胜感激。PS 不需要多个测试 .env 文件。
查看完整描述

3 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

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



查看完整回答
反对 回复 2023-07-30
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

当您想要加载配置时,请确保它是在 .env.local 中定义的,或者如果您使用自定义环境(例如将参数test添加--env=test到命令中)

  php bin/console doctrine:fixtures:load --env=test
  php bin/console server:run --env=test


查看完整回答
反对 回复 2023-07-30
?
万千封印

TA贡献1891条经验 获得超3个赞

学说测试包括运行迁移,以便每次测试运行时数据库中都有相同的数据。

从您发布的页面...

每次测试前自动重置数据库¶

这将导致消息Careful, database ... will be purged.“这是警告,而不是错误”。



查看完整回答
反对 回复 2023-07-30
  • 3 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信