我有一个重载where
功能的模型。
我的重载方法如下所示:
public function where($column, $operator = null, $value = null, $boolean = 'and')
{
if (in_array($column, $this->metaFields))
{
$value = '%"' . $column . '":"' . $value . '"';
$column = 'meta';
$operator = 'like';
}
return parent::where($column, $operator, $value, $boolean);
}
现在使用 phpunit 和 mockery 我正在尝试测试这个类,我需要测试我重载的 where 函数,我真正关心的是传递给的值是什么parent::where()
我的问题是,是否有可能/我将如何模拟父类以便我可以做到
$metaField = 'colour';
$value = 'blue';
//on the parent
->shouldReceive('where')->with(['meta', 'like', '%"colour":"blue"%'])->once();
//on the model I am testing
$model->where('colour', 'blue');