Laravel Mock Model Partical

时间:2019-11-03 16:08:27

标签: laravel mockery

我的用户模型类中有一个名为getBlabla的方法。现在我想通过

来模拟这个方法
$this->partialMock(User::class, function ($mock) {
           $mock->shouldReceive([
               'getBlaBla' => 'some data',
           ]);
});

但是后来我总是会遇到一些错误,因为Mockery更改了我的类名,因此也更改了表和关系列的约定。

General error: 1 no such table: mockery_3__app__users

我当然想在用户模型中使用Eloquent方法。但是只想模拟这个getBlaBla方法。

1 个答案:

答案 0 :(得分:0)

您尝试过这种方式吗?

$mock = m::mock('User')->makePartial();
$mock->shouldReceive("getBlaBla")->once()->andReturn("some data");

我对这最后一种语法更加熟悉,我认为它应该以这种方式工作。