php - 如何使用 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 文件。
解决方案
如果你使用php bin/console doctrine:fixtures:load --env=test
你只会影响你的测试数据库。
推荐阅读
- dynamic-programming - leetcode:解码方式dp解决方案
- python-3.x - Plotly - 点击图例项目 - 如何进行初始设置?
- java - 为什么我收到错误异常评估 SpringEL 表达式:“pagePost.totalPage > 0”?
- database - codeigniter:无法从一个函数获取返回值到同一控制器内的另一个函数?
- asp.net - 我应该为 ASP.NET Core REST API 使用哪个内存分析器
- node.js - 如何将数据放入弹性搜索数据存储 nodejs
- php - 仅显示包含数据库值的数组中的特定数据
- reactjs - 部署 ReactJS 和 Express Nginx
- elasticsearch - 如何使用 edge_nGram 自动完成单词而不是数字
- flutter - 我想拆分从 API 获得的数据并将其转换为日期和月份