繁体   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