2014-04-07 31 views
0

我正在嘗試使用Visual PHPUnit如何實現PHPUnit

當我使用phpunit命令時它的運行很好。沒有錯誤發生,我的測試成功運行。的phpunit --version輸出如下:

PHPUnit 4.0.14 by Sebastian Bergmann.

我使用PEAR安裝PHPUnit的。的which pear輸出如下:

/usr/bin/pear

在線#9 app/config/bootstrap.php視覺的PHPUnit的,我設置/usr/bin/pearpear_path

出現下面的錯誤,當我嘗試從瀏覽器中運行VPU ...

Warning: require_once(PHPUnit/Autoload.php): failed to open stream: No such file or directory in /path_to_vpu/app/config/bootstrap.php on line 83

Fatal error: require_once(): Failed opening required 'PHPUnit/Autoload.php' (include_path='.:/usr/share/php:/usr/bin/pear:/path_to_vpu:/usr/share/php') in /path_to_vpu/app/config/bootstrap.php on line 83

which php輸出如下:

/usr/bin/php

我的服務器是Ubuntu 13.10 Saucy。的php -v輸出如下:

PHP 5.5.3-1ubuntu2.2 (cli) ....

pear list -c phpunit輸出如下:

INSTALLED PACKAGES, CHANNEL PEAR.PHPUNIT.DE: 
============================================ 
PACKAGE      VERSION STATE 
DbUnit      1.3.1 stable 
File_Iterator     1.3.4 stable 
PHPUnit      4.0.14 stable 
PHPUnit_Selenium    1.3.3 stable 
PHPUnit_Story     1.0.2 stable 
PHPUnit_TicketListener_GitHub 1.0.0 stable 
PHP_CodeCoverage    1.2.17 stable 
PHP_Invoker     1.1.3 stable 
PHP_Timer      1.0.5 stable 
PHP_TokenStream    1.2.2 stable 
Text_Template     1.2.0 stable 

我的問題是,爲什麼我不能包括PHPUnit/Autoload.php?請幫助我...如果你需要了解我的配置,請問我...

在此先感謝。

編輯

我的php.ini文件(包括CLI和Web)有以下幾點:

include_path中= 「:在/ usr /共享/ PHP:在/ usr /共享/梨」

+0

該文件存在於/ usr/bin/pear/PHPUnit/Autoload.php中嗎?無論如何,我建議使用[composer](https://getcomposer.org/)來安裝依賴關係。 – Phil

+0

/usr/bin/pear是這裏的一個文件... – Tareq

+1

然後你的'include_path'配置不正確。它應該只包含目錄,而不是文件 – Phil

回答

0

您的包含路徑可能設置不正確。

請按照PEAR manual的「驗證包含路徑」一節中的說明進行操作。

+0

這兩個網站的PHP和Cli PHP顯示我布爾(真)根據手冊...但仍然PHPUnit不包括...請幫助我...再次phpunit工作正常,但命令提示符但web界面不工作。 .. – Tareq

0

這是PHPUnit升級PEAR後發生的事情。在升級之前,VPU正在工作。我也無法通過PEAR降級它。經過一些調整後,它再次運作。

我使用composer在VPU web目錄下安裝了PHPUnit。將此composer.json文件放入VPU Web目錄中。

composer.json 
{ 
    "require-dev": { 
     "phpunit/phpunit": "4.1.*" 
    } 
} 

並運行作曲家安裝。在此之後,app/config/bootstrap中的一個小改動。php文件是必需的;

//require_once 'PHPUnit/Autoload.php'; 
//require_once 'PHPUnit/Util/Log/JSON.php'; 

// this should be absolute path 
require_once '/var/www/.... vpu web path ..../vendor/autoload.php'; 

它會工作。