首页 > 解决方案 > 如何从 eloquent 中模拟 laravel HasOne 关系?

问题描述

为了单元测试的目的,我有一个嘲笑雄辩的 HasOne 关系的问题。

这是棘手的部分:

$save->relationTable()->create([
    'field_1' => 'value_1',
    'field_2' => 'value_2',
    'field_3' => 'value_3',
]);

模型中的关系:

public function relationTable(): HasOne
{
    return $this->hasOne(RelationTable::class);
}

特别的错误是:

收到 Mockery_4_Illuminate_Database_Eloquent_Relations_HasOne::create(),但没有指定期望

如果有人知道...

标签: laravelunit-testingmockinghas-oneeloquent-relationship

解决方案


shouldReceive('RelationTable')->once();

您应该以预期的输出结束您的嘲弄,否则您无法判断您的测试是否有效。


推荐阅读