2012-05-08 39 views
7

Tôi đang sử dụng Zend Framework cho một số dự án và muốn xây dựng bộ thử nghiệm PHPUnit cho họ. Thật không may, Zend Framework trong phiên bản hiện tại của nó (1.11.x) chỉ hỗ trợ PHPUnit 3.5. Đồng thời, tôi cũng muốn bắt đầu làm việc với khung công tác Symfony, từ đó hỗ trợ các phiên bản PHPUnit mới hơn. Câu hỏi sau đó là, làm thế nào tôi có thể chạy nhiều phiên bản của PHPUnit trên máy dev của tôi cùng một lúc mà không phải cài đặt các máy chủ riêng biệt hoặc những thứ như thế?Làm cách nào để chạy nhiều phiên bản của PHPUnit trên cùng một máy?

Tôi đang chạy OS X Lion (10.7) và sử dụng apache và php (5.3.10) được cài đặt thông qua MacPorts. Lý tưởng nhất, tôi muốn kết thúc trong một tình huống mà tôi có thể chỉ cần gõ e.g. phpunit5 trong terminal để thực thi phiên bản 3.5 và gõ phpunit6 để thực thi phiên bản 3.6, v.v.

+1

Sucks khi API của nhà cung cấp bắt tay vào các phiên bản cụ thể như thế này. –

Trả lời

4

tôi muốn khuyên bạn nên kiểm tra bài đăng blog:

Đối với một đầu bếp-thức, kiểm tra bài viết trên blog của tôi:

Trong trường hợp các liên kết ngừng hoạt động:

  • lê hỗ trợ một --installroot switch
  • dụ:

    lê cài đặt --installroot/some/path/phpunit34 pear.phpunit.de/PHPUnit-3.4.15

Sau khi cài đặt, bạn có thể phải thêm /some/path/phpunit34/usr/bin/ vào $PATH hoặc tạo liên kết tượng trưng đến /usr/bin như bài đăng trên blog minh họa.

HTH

+2

PEAR làm cho bé Giêsu khóc. –

+0

Cảm ơn! Các hướng dẫn trong liên kết đầu tiên đã làm các trick (tại sao tôi đã không thể tìm thấy rằng sau giờ tìm kiếm Google vẫn còn là một bí ẩn). Đã có một chút rắc rối với đường dẫn bao gồm cho đến khi tôi nhận ra rằng tất nhiên tôi cần xác định đường dẫn đến các tệp khuôn khổ PHPUnit, không phải bản thân php đang sử dụng (lệnh pear config-show | grep php_dir đã ném cho tôi một chút, vì nó đã trỏ đến nhị phân php của tôi). –

1

Câu trả lời được chấp nhận hoạt động khi bạn cài đặt phpunit 3.4, nhưng nếu bạn muốn cài đặt phpunit 3.5 (mà cũng có thể được sử dụng để kiểm tra đơn vị trong một dự án Zend, mặc dù Zends xét nghiệm riêng có thể không phải tất cả đường chuyền) bạn phải đi theo một con đường hơi khác. Bạn sẽ cần phải cài đặt phụ thuộc cho phpunit 3.5 một cách riêng biệt trước khi cài đặt phpunit, nếu không một số phụ thuộc sẽ buộc cài đặt phpunit 3.6:

Cài đặt trước (lưu ý tùy chọn -f, buộc cài đặt phiên bản cụ thể) :

sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.symfony-project.com/YAML-1.0.2 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHPUnit_Selenium-1.0.1 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHP_Timer-1.0.0 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/Text_Template-1.0.0 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHPUnit_MockObject-1.0.3 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/File_Iterator-1.2.3 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHP_CodeCoverage-1.0.2 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/DbUnit-1.0.0 
sudo pear install -f --installroot /your/path/to/PHPUnit35 pear.phpunit.de/PHPUnit-3.5.15 

Sau đó làm theo hướng dẫn trong liên kết của câu trả lời được chấp nhận để thay đổi đường dẫn bao gồm và liên kết chính xác.

0

PHPUnit hiện nay cung cấp kèm file Phar cho tất cả các phiên bản của nó ở https://phar.phpunit.de/

Đơn giản chỉ cần tải về phiên bản cần thiết (s) và gọi cho họ sử dụng:

php phpunit-X.Y.Z.phar 

(Trong trường hợp X.Y.Z là phiên bản PHPUnit)

Tệp PHAR có thể dễ dàng được đặt bí danh để làm cho chúng có sẵn trên toàn hệ thống.

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