【问题标题】:Laravel mock Model particalLaravel 模拟模型粒子
【发布时间】:2020-02-29 02:17:54
【问题描述】:

我的用户模型类中有一个名为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 方法。

【问题讨论】:

  • 你到底在getBlaBla做什么?请提供更多代码,以便我们了解您的问题..
  • 这个方法只返回一个简单的字符串。我想模拟并更改返回值。这里没什么特别的。
  • 你的方法只返回一个简单的字符串?那么,它为什么抱怨table?对我来说似乎没有意义..因为我无法重现您的问题..

标签: laravel mockery


【解决方案1】:

你试过这种方法吗?

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

我对最后一种语法比较熟悉,我认为它应该这样工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2015-08-08
    • 2015-03-12
    • 1970-01-01
    • 2014-01-23
    相关资源
    最近更新 更多