【问题标题】:phpunit workbench package Illuminate\Database\Eloquent\Model not Foundphpunit 工作台包 Illuminate\Database\Eloquent\Model not Found
【发布时间】:2014-05-17 21:35:36
【问题描述】:

大家好,我在工作台的 laravel 上创建了一个包,它适用于我的 laravel 项目,然后我决定为它编写单元测试。我在我的包和嘲弄的供应商上下载了 php 单元。

我设置了我的 phpunit 测试文件,当我要模拟这个模型的依赖时:

  public function setUp()
  {
     $model = Mockery::mock('Path/OfMy/Model');
     new MyRepository($model);
  }

当我运行 phpunit 命令时,它给我一个错误:

PHP 致命错误:找不到类 'Illuminate\Database\Eloquent\Model'

这就是我设置模型的方式

use Illuminate\Database\Eloquent\Model;

/**
* 
*/
class TableEloquent extends Model
{
    protected $table = "tables";
    protected $fillable = ['text','name'];

    public function relation()
    {
        return $this->hasOne('My\Name\Space\OtherModel','type_id');
    }
}

奇怪的是我有另一个模型以与模型类相同的方式扩展,它没有给出问题。

如果不是给出问题的模型,我该如何解决这种奇怪的行为?

【问题讨论】:

  • 你能解决这个问题吗?我也有类似的问题。
  • 是的,我会把答案写在下面
  • 没问题,我的荣幸

标签: php laravel laravel-4 phpunit


【解决方案1】:

要解决此问题,您只需在 setUp() 方法的顶部模拟 \Illuminate\Database\Eloquent\Model,如下所示:

public function setUp()
{
   Mockery::mock('Illuminate\Database\Eloquent\Model');
   // your set up
}

【讨论】:

    猜你喜欢
    • 2021-04-20
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 2014-11-29
    • 2018-10-22
    • 2023-03-13
    • 2021-10-25
    • 2022-10-16
    相关资源
    最近更新 更多