簡體   English   中英

在Netbeans中運行單元測試時無法重新聲明phpunit_autoload

[英]Cannot redeclare phpunit_autoload when running unit tests in Netbeans

一年多以前,我通過Microsoft Web Platform Installer安裝了PHP。 PHP的安裝版本為5.3.6。 然后,我通過PEAR(版本3.5.14)安裝了PPHUnit。 我使用它來通過Netbeans運行我的單元測試,直到將PHPUnit升級到最新版本(3.6.11)為止,它運行良好。 從那時起,我不能再運行單元測試了。

當我查看Netbeans選項中的PHPUnit配置時,未報告任何錯誤,並且phpunit.bat被很好地識別。 這是phpunit.bat的內容:

set PHPBIN="C:\Program Files (x86)\PHP\v5.3\php.exe"
%PHPBIN% "C:\Program Files (x86)\PHP\v5.3\phpunit" %*

但是,當我嘗試運行單元測試時,在Netbeans的“輸出”窗口中出現以下錯誤:

Fatal error: Cannot redeclare phpunit_autoload() (previously declared in C:\Program Files (x86)\PHP\v5.3\PEAR\PHPUnit\Autoload.php:51) in C:\Program Files (x86)\PHP\v5.3\PEAR\PHPUnit\Autoload.php on line 205
---
Call Stack:
    0.0003     323984   1. {main}() C:\Program Files (x86)\PHP\v5.3\phpunit:0
    0.0055     731680   2. PHPUnit_TextUI_Command::main() C:\Program Files (x86)\PHP\v5.3\phpunit:46
    0.0055     732096   3. PHPUnit_TextUI_Command->run() C:\Program Files (x86)\PHP\v5.3\PEAR\PHPUnit\TextUI\Command.php:130
    0.0420    1218480   4. PHPUnit_Runner_BaseTestRunner->getTest() C:\Program Files (x86)\PHP\v5.3\PEAR\PHPUnit\TextUI\Command.php:150
    0.0877    1596168   5. ReflectionMethod->invoke() C:\Program Files (x86)\PHP\v5.3\PEAR\PHPUnit\Runner\BaseTestRunner.php:124
    0.0877    1596184   6. NetBeansSuite::suite() C:\Program Files (x86)\PHP\v5.3\PEAR\PHPUnit\Runner\BaseTestRunner.php:124
    0.0893    1600944   7. PHPUnit_Framework_TestSuite->addTestFile() D:\Program Files\NetBeans 7.1\php\phpunit\NetBeansSuite.php:85
    0.0893    1601408   8. PHPUnit_Util_Fileloader::checkAndLoad() C:\Program Files (x86)\PHP\v5.3\PEAR\PHPUnit\Framework\TestSuite.php:358
    0.0898    1601504   9. PHPUnit_Util_Fileloader::load() C:\Program Files (x86)\PHP\v5.3\PEAR\PHPUnit\Util\Fileloader.php:79
    0.1028    1633840  10. include_once('D:\Inetpub\wwwroot\DTS\unit\UploadException.test.php') C:\Program Files (x86)\PHP\v5.3\PEAR\PHPUnit\Util\Fileloader.php:95

轉儲$ _GET


自從出現此問題以來,我已經卸載並重新安裝了幾次PHPUnit,但是並沒有改善這種情況。 Pear本身也已升級到最新版本(1.9.4)。

有誰知道如何擺脫這些錯誤?

由於某種原因,它認為需要重新加載Autoload.php 您可以嘗試將203行上的require更改為require_once以查看有幫助。 如果我有一個猜測,那是因為您自己的代碼自動加載器想要加載類似名稱的東西,並且它與PHPUnit本身中的自動加載器沖突。 也許為類命名,或者確保在PHPUnit之前加載自動加載器,可能就可以解決問題。 我會認為這是一個錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM