【发布时间】:2013-11-09 19:35:37
【问题描述】:
我正在尝试使用 Codeception 运行我的 Laravel 4 单元测试。
为没有依赖关系的简单类运行测试可以正常工作。但是当我实例化一个依赖于 Eloquent 的模型时,我得到了这个致命错误:
PHP 致命错误:在第 4 行的 /var/www/project/app/models/Role.php 中找不到“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
我做错了什么?
【问题讨论】:
-
我特别不知道代码接收,但是对于 PHPUnit,你至少需要bootstrap the class autoloading。或许 Codeception 也是如此。
-
我知道这太晚了,但是在你安装了 composer 包之后。您输入站点的根目录。 “vendor/bin/codecept _bootstrap”,它将为您生成文件。
标签: laravel phpunit laravel-4 eloquent codeception