gpt4 book ai didi

Laravel 4 模型单元测试与 Codeception - 未找到类 'Eloquent'

转载 作者:行者123 更新时间:2023-12-02 18:46:34 25 4
gpt4 key购买 nike

我正在尝试使用 Codeception运行我的Laravel 4单元测试。

对没有依赖项的简单类运行测试效果很好。但是当我实例化一个依赖于 Eloquent 的模型时,我收到了这个 fatal error :

PHP fatal error :在/var/www/project/app/models/Role.php 第 4 行中找不到“Eloquent”类

单元测试:

<?php
use Codeception\Util\Stub;
class TestModel extends \Codeception\TestCase\Test
{
public function testExample()
{
$role = new Role;
$role->name = 'superuser';
$this->assertEquals('superuser', $role->name);
}
}

型号:

<?php
class Role extends Eloquent
{
public function users()
{
return $this->belongsToMany('User');
}
}

项目结构:

我正在从项目根运行vendor/bin/codecept运行单元,文件结构如下:

/project
codeception.yml
/vendor/bin/codecept
/app
/tests
unit.suite.yml
/unit
ExampleTest.php
/models
Role.php
...etc

我做错了什么?

最佳答案

通过查看Codeception L4 sample app ,通过将这些行添加到 project/app/tests/_boostrap.php:

,我能够了解如何引导自动加载来解决此问题
include __DIR__.'/../../vendor/autoload.php';
$app = require_once __DIR__.'/../../bootstrap/start.php';
\Codeception\Util\Autoload::registerSuffix('Page', __DIR__.DIRECTORY_SEPARATOR.'_pages');

编辑:从 Laravel 4.0 升级到 4.1 时,还需要额外添加一行:

$app->boot();

关于Laravel 4 模型单元测试与 Codeception - 未找到类 'Eloquent',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19678692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com