一年多以前,我通过 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)。
有人知道如何摆脱这些错误吗?