Vì vậy, tôi đang viết một gói Laravel cơ bản và dường như tôi đã vấp phải một vấn đề khác, lần này với thử nghiệm.Thử nghiệm một gói Laravel
Gói đang phát triển hiện nằm trong thư mục packages
trong thư mục gốc của dự án. Tôi đã sửa đổi các tập tin composer.json
của gói để bao gồm các phụ thuộc tôi cần
"require-dev": {
"phpunit/phpunit": "~4.0",
"laravel/laravel": "dev-develop"
}
Tuy nhiên, bất cứ khi nào tôi cố gắng chạy phpunit tests
trong thư mục gói (trong đó có một thư mục có tên tests
cùng với một bài kiểm tra mẫu), tôi nhận được lỗi sau:
PHP Fatal error: class 'Illuminate \ Quỹ \ Testing \ TestCase' không tìm thấy trong /workspace/laravel/packages/sample/http-request/tests/HttpRequestTest.php trên dòng 8
Các tệp thử nghiệm chỉ là bản khai được tạo tự động:
<?php
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class HttpRequestTest extends Illuminate\Foundation\Testing\TestCase
{
/**
* A basic test example.
*
* @return void
*/
public function testExample()
{
$this->assertTrue(true);
}
}
Bất kỳ ý tưởng nào tại sao tính năng này không hoạt động? Các thử nghiệm ứng dụng chạy mà không gặp trục trặc, nhưng bản thân ứng dụng không có phụ thuộc khác với những gì trong hộp.
SOLUTION
Managed để làm cho nó làm việc một cách độc lập bằng cách mở rộng PHPUnit_Framework_TestCase:
class HttpRequestTest extends PHPUnit_Framework_TestCase
Tuy nhiên, chạy nó thích:
vendor/bin/phpunit packages/yourname/package-name/
Làm việc là tốt, vì vậy tôi nhặt nó như một câu trả lời.
Cảm ơn bạn đã muốn thêm giải pháp tại đây. Trong tương lai, vui lòng thêm câu trả lời đó dưới dạng câu hỏi bên dưới câu hỏi - chúng tôi muốn tách biệt giữa Hỏi và đáp tại đây. Chúc mừng! – halfer