eloquent - 在 null 上对成员函数 connection() 的代码接收调用
问题描述
我正在尝试设置 codeception 以在测试期间使用 sqlite 数据库,但我遇到了下面的错误。我试图包含 bootstrap/app.php 以便应用程序正在运行,但这并没有解决它。有人有想法吗?
我在用着:
LPaymentTransactionTest.php
public function testReturn(): void
{
\App\DAO\Order::find(1);
}
密码接收.yml
paths:
tests: tests
output: tests/_output
data: tests/_data
support: tests/_support
envs: tests/_envs
actor_suffix: Tester
extensions:
enabled:
- Codeception\Extension\RunFailed
modules:
enabled:
- Asserts
- \Helper\Unit
- Db:
dsn: 'sqlite:tests/_data/sqliteTestDb.db'
user: ''
password: ''
# dump: 'tests/_data/test.sql'
dump: 'tests/_data/databaseDump.sql'
populate: true
cleanup: true
完全错误
Call to a member function connection() on null
/home/projects/vendor/illuminate/database/Eloquent/Model.php:1239
/home/projects/vendor/illuminate/database/Eloquent/Model.php:1205
/home/projects/vendor/illuminate/database/Eloquent/Model.php:1035
/home/projects/vendor/illuminate/database/Eloquent/Model.php:952
/home/projects/vendor/illuminate/database/Eloquent/Model.php:988
/home/projects/vendor/illuminate/database/Eloquent/Model.php:941
/home/projects/vendor/illuminate/database/Eloquent/Model.php:1608
/home/projects/vendor/illuminate/database/Eloquent/Model.php:1620
/home/projects/tests/unit/LPaymentTransactionTest.php:96
/tmp/ide-codeception.php:40
编辑:该模型确实在测试之外工作。因此,如果我通过 routes/web.php 调用模型,它会毫无问题地返回数据。它似乎在测试中不起作用
edit2:看起来应用程序没有启动,一旦我找到它就会更新修复
解决方案
actor: UnitTester
modules:
enabled:
- Asserts
- \Helper\Unit
- Cli
- Lumen
- Db:
dsn: 'sqlite:tests/_data/database.sqlite'
dbname: 'tests/_data/database.sqlite'
dump: 'tests/_data/test.sql'
user: ''
password: ''
populate: true
cleanup: false
reconnect: true
waitlock: 0
step_decorators: ~
推荐阅读
- powershell - 似乎无法摆脱 Powershell Get-Content 命令
- python - 当且仅当其他列满足特定条件时,熊猫数据框计算特定值在列中出现的次数
- postman - Teamcity newman 未被识别为内部或外部命令
- list - 如何在 Microsoft Outlook 中创建所有任务的文本列表?
- bash - 如何让我的脚本菜单在 Unix 中执行我的下标
- r - 如何定义关于 4 列的新列?
- java - 如何操作给定索引内的字符串?爪哇
- php - 如何在没有类型的情况下为 soundcloud 获取 json
- c# - 是否有与 PathGeometry.GetPointAtFractionLength(double progress, out System.Windows.Point point, out System.Windows.Point tangent) 等效的 UWP?
- excel - 在 VBA 代码中为用户窗体使用表列标题