2014-04-25 53 views
1

所以安裝的PHPUnit和笨:PHPUnit的笨生成燈具PHP致命錯誤:類「化PHPUnit_Framework_TestCase」未找到

http://d.hatena.ne.jp/Kenji_s/20120117/1326763908

無法下載PEAR作爲被棄用。所以,必須下載PHPUnit的藥業文件:

http://phpunit.de/manual/4.0/en/installation.html#installation.phar

所以能得到一些測試才能正常運行。動了我的phpunit.phar到/ usr/local/bin目錄,並運行在測試DIR:

php /usr/local/bin/phpunit.phar 

而且所有的測試正確運行。但是,當我試圖運行PHP生成裝置和PHP generate.php夾具:

PHP Fatal error: Class 'PHPUnit_Framework_TestCase' not found in /www/test/application/third_party/CIUnit/libraries/CIUnitTestCase.php on line 15 

Fatal error: Class 'PHPUnit_Framework_TestCase' not found in /www/test/application/third_party/CIUnit/libraries/CIUnitTestCase.php on line 15 

看起來似乎沒有找到類藥業文件中,或者至少他們沒有按照正確的順序?有趣的是,它運行的測試很好,但不是生成裝置。

另外我還安裝了使用composer phpunit,所以我也安裝了/ www/test/vendor/bin/phpunit。

任何幫助,將不勝感激。

+0

生成fixutures的程序實際上並不驗證它所使用的依賴關係是否可用 - 因爲它是用PHP編寫的,因此您會看到有關該問題的致命錯誤。在您的情況下,這些依賴關係不可用(您的系統上有它們),因此您需要聯繫該軟件產品的供應商,並尋找支持選項,您可以在其中配置phpunit的路徑。 – hakre

回答

0

我的代碼中有同樣的問題,雖然我沒有使用CodeIgniter。試圖運行測試會導致錯誤消息:

Class 'PHPUnit_Framework_TestCase' not found

對於什麼是值得我這個固定加一個反斜槓到我的測試類的聲明。

// Before 
namespace IMAVendor\Super\Duper; 

class MyClassTest extends PHPUnit_Framework_TestCase 

// After 
namespace IMAVendor\Super\Duper; 

class MyClassTest extends \PHPUnit_Framework_TestCase 
         ^
       Added this backslash here 

這似乎與命名空間和建立在phpunit中的自動加載器有關。我有我自己的項目代碼自動加載器,它似乎試圖從我的代碼加載phpunit的類。我不確定爲什麼當它無法在項目名稱空間中找到它時,它不會嘗試從「基本」加載它(這可能是由於我自己的自動加載器出現故障)。

我知道這是一個古老的問題,但我會留在這裏以防萬一它可能幫助別人。

相關問題