2012-03-09 35 views
5

Tôi đã duyệt qua các sự cố tương tự trên SO, nhưng không có kết quả. Tôi đang chạy PHP 5.3.6 và phpunit phiên bản 3.6.10. Khi cố gắng để thực hiện một thử nghiệm đơn giản:PHPUnit không mở được tệp được yêu cầu

require_once 'PHPUnit/Framework.php'; 

class UserTest extends PHPUnit_Framework_TestCase { 
} 

tôi nhận được lỗi sau:

PHP Fatal error: require_once(): Failed opening required 'PHPUnit/Framework.php' 
(include_path='.:/Users/username/pear/share/pear:/usr/lib/php/pear/:/Users/username/pear/share/pear/PHPUnit') in ... 

Khi cài đặt lại PHPUnit, tôi không chắc chắn nếu vị trí cài đặt được nhân đôi, nhưng có vẻ như khi chạy which phpunit, đường dẫn là: /usr/bin/phpunit. Tuy nhiên, nó cũng được cài đặt trong /Users/user/pear/bin/phpunit. Tôi đã thử cập nhật tất cả các kênh và cài đặt lại PEAR và PHPUnit, nhưng vấn đề vẫn tồn tại. Tôi đang chạy trên OSX Lion. Mọi sự trợ giúp sẽ rất được trân trọng.

+0

Bạn đã đánh máy: ''PHPUit/Framework.php'' - thiếu' n'. – hakre

+0

Trước khi cài đặt lại PEAR, tôi sẽ * đọc * thông báo lỗi trước tiên. Nó cho bạn biết điều gì đã xảy ra. Tôi cũng đã nói với bạn trong phần bình luận ở trên. – hakre

+1

@hakre - xin lỗi, đó là lỗi đánh máy trong tôi khi gõ lỗi (trái với việc sao chép và dán). Lỗi là PHPUnit không còn yêu cầu bạn yêu cầu rõ ràng lớp Framework nữa. Tôi bằng cách nào đó đã đọc tài liệu cũ, và tôi đã nhầm lẫn là tại sao nó không hoạt động. Cảm ơn bạn đã giúp đỡ. – naivedeveloper

Trả lời

15

Chỉ cần loại bỏ các dòng

require_once 'PHPUnit/Framework.php'; 

và tất cả mọi thứ nên làm việc.

Bạn không cần phải include/require bất kỳ điều gì liên quan đến PHPUnit kể từ (ít nhất) PHPUnit 3.6 nữa và bạn không thể bao gồm tệp đó vì tệp không còn tồn tại nữa trong bản phân phối.

Á hậu phpunit sẽ chăm sóc bootstrapping tất cả những gì là cần thiết bởi PHPUnit :)

+2

Cảm ơn, đó là những gì tôi đang thấy bây giờ. Bằng cách nào đó, rõ ràng, tôi vấp phải một số tài liệu cũ hoặc một cái gì đó trên trang web PHPUnit, bởi vì nó đã được yêu cầu tập tin đó. Cảm ơn bạn đã giúp đỡ. – naivedeveloper

+0

Hahahahaa. Đó là câu trả lời thực sự tuyệt vời. Sau khi tôi bỏ ra hàng giờ để khắc phục vấn đề này =) +1 =)) –

1

Như những người khác chỉ ra, Framework.php không cần nữa.

Nhưng trong mọi trường hợp, nếu bạn đã có quá nhiều tệp thử nghiệm được viết và có câu lệnh bao gồm, thì việc sửa chúng sẽ là một nhiệm vụ rườm rà. Đó là trường hợp tôi phải đối mặt.

Nếu giải pháp khắc phục nhanh là cần thiết, hãy tạo tệp Framework.php trống. Điều đó sẽ giải quyết vấn đề. Tạo một tệp trống có tên Framework.php trong thư mục PHPUnit của bạn. (ví dụ: tại: /usr/share/php/PHPUnit/Framework.php).

sudo touch /usr/share/php/PHPUnit/Framework.php

Các vấn đề liên quan