在Netbeans中运行单元测试时无法重新声明phpunit_自动加载

在Netbeans中运行单元测试时无法重新声明phpunit_自动加载,php,netbeans,phpunit,Php,Netbeans,Phpunit,一年多前,我通过MicrosoftWeb平台安装程序安装了PHP。安装的PHP版本是5.3.6。然后我通过PEAR(版本3.5.14)安装了PPHUnit。我使用它通过Netbeans运行单元测试,在我将PHPUnit升级到最新版本(3.6.11)之前,它一直运行良好。从那时起,我就不能再运行我的单元测试了 当我查看Netbeans选项中的PHPUnit配置时,不会报告任何错误,PHPUnit.bat也会得到很好的识别。 这是phpunit.bat的内容: set PHPBIN="C:\Prog

一年多前,我通过MicrosoftWeb平台安装程序安装了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
转储$\u GET


自从这个问题出现后,我已经卸载并重新安装了好几次PHPUnit,但这并没有改善情况。Pear本身也升级到了最新版本(1.9.4)


有人知道如何消除这些错误吗?

出于某种原因,它认为需要重新加载
Autoload.php
。您可以尝试将第203行的
require
更改为
require\u一次
,以查看是否有帮助。如果我冒昧猜测一下,这是因为您自己的代码自动加载程序想要加载类似名称的东西,并且它与PHPUnit中的自动加载程序冲突。也许给类命名,或者确保在PHPUnit之前加载autoloader,就可以做到这一点。我会认为这是一个错误。p> 你好,瑞肯,谢谢你的回答。我试过了,但没用。我还需要补充的是,我没有自己编写Autoload.php。在我的单元测试文件中,有以下内容:require_once.“./classes/myClass.class.php”;需要“PHPUnit/Autoload.php”;将其更改为以下内容可使其适用于某些类,但并非所有类都需要一次“./classes/PropertySetField.class.php”;需要一次“PHPUnit/Autoload.php”;删除最后一行
require
:它已经包含在
C:\ProgramFiles(x86)\PHP\v5.3\phpunit
中,因此删除
require“phpunit/Autoload.PHP
应该可以工作。(并且:对于类/函数includes&requires,始终使用
\u一次)。谢谢您的帮助,Wrikken。(我总是使用require_一次,除了单元测试中的这些自动加载行)