Tôi đang cố gắng sử dụng Codeception để chạy thử nghiệm đơn vị Laravel 4 của mình.Thử nghiệm đơn vị mẫu thử Laravel 4 với Codeception - Class 'Eloquent' không được tìm thấy
Chạy thử nghiệm cho một lớp đơn giản mà không có phụ thuộc nào hoạt động tốt. Nhưng khi tôi khởi tạo một mô hình phụ thuộc vào Eloquent, tôi nhận được lỗi nghiêm trọng này:
PHP Lỗi nghiêm trọng: Lớp 'Eloquent' không được tìm thấy trong /var/www/project/app/models/Role.php trên dòng 4
Đơn vị kiểm tra:
<?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);
}
}
mẫu:
<?php
class Role extends Eloquent
{
public function users()
{
return $this->belongsToMany('User');
}
}
cấu trúc
dự án:
Tôi đang chạy vendor/bin/codecept chạy đơn vị từ gốc dự án, với cấu trúc tập tin này:
/project
codeception.yml
/vendor/bin/codecept
/app
/tests
unit.suite.yml
/unit
ExampleTest.php
/models
Role.php
...etc
Tôi đang làm gì sai?
Tôi không biết về codeception đặc biệt, nhưng với PHPUnit, bạn cần ít nhất [khởi động tự động tải lớp] (https://github.com/laravel/laravel/blob/master/phpunit.xml#L4). Có lẽ nó giống với Codeception. – fideloper
Tôi biết điều này là điên muộn nhưng sau khi bạn cài đặt gói nhà soạn nhạc. Bạn gõ vào thư mục gốc của trang. "vendor/bin/codecept _bootstrap" và điều đó sẽ tạo tệp cho bạn. – John