php - 如何在 laravel 中运行并行测试?
问题描述
我在项目中有 15 个功能测试。env.test 的信息:
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=test_db
DB_USERNAME=test
DB_PASSWORD=123456
当我使用并行运行测试时php artisan test --parallel
,出现错误:
1) Tests\Feature\Settlement\PublicSTest::testCreatePublicS
Illuminate\Database\QueryException: SQLSTATE[42501]: Insufficient privilege: 7 ERROR: permission denied to create database (SQL: create database "test_db_test_3" encoding "utf8")
如何解决此错误?
解决方案
正如文档所述,Laravel
将创建多个数据库以避免并行进程与其他数据发生冲突。
添加用户创建数据库的权限,假设这是一个postgres
基于错误的数据库。
访问cli
psql test_db test
要执行的命令
ALTER USER test CREATEDB;
推荐阅读
- python - 使用具有分隔符的 csv 文件
- python - 熊猫将字符串的类别转换为数字作为一个对象,但得到了一个数字数组
- html - 和 有什么区别?
- php - 在 Zencart 中结帐后无法访问网站
- excel - Excel 公式帮助 - 如果条件为真,则有条件复制/过去
- c# - Gleamtech DocumentUltimate 缓存文件路径
- node.js - 如何从 ReactJS 中的任何 url 获取元数据(图像、标题、描述)
- docker - 使用 Docker 的 ElasticSearch - 启用匿名访问
- opengl - 找出绘制了哪些三角形 OpenGL
- c# - 使用 Bouncy Castle 在 C# 中加密和使用 AES(EAX 模式)在 Python 中解密的问题