PHPUnit似乎正确执行(执行适当的测试并通过),但在代码覆盖期间会引发错误。我们正在使用PHPUnit 3.5和ZF 1.11。任何见解将不胜感激!
(仅供参考:我查看了一些相关的StackOverflow帖子,但似乎没有什么能解决这个问题。)
[24-Jan-2012 00:11:09 UTC] PHP Fatal error: Cannot redeclare class Zend_View_Helper_FormSpecial in /home/za/application/modules/proposal/views/helpers/FormSpecial.php on line 23
[24-Jan-2012 00:11:09 UTC] PHP Stack trace:
[24-Jan-2012 00:11:09 UTC] PHP 1. {main}() /usr/local/zend/bin/phpunit:0
[24-Jan-2012 00:11:09 UTC] PHP 2. PHPUnit_TextUI_Command::main() /usr/local/zend/bin/phpunit:49
[24-Jan-2012 00:11:09 UTC] PHP 3. PHPUnit_TextUI_Command->run() /usr/local/zend/share/pear/PHPUnit/TextUI/Command.php:129
[24-Jan-2012 00:11:09 UTC] PHP 4. PHPUnit_TextUI_TestRunner->doRun() /usr/local/zend/share/pear/PHPUnit/TextUI/Command.php:188
[24-Jan-2012 00:11:09 UTC] PHP 5. PHP_CodeCoverage_Report_HTML->process() /usr/local/zend/share/pear/PHPUnit/TextUI/TestRunner.php:363
[24-Jan-2012 00:11:09 UTC] PHP 6. PHP_CodeCoverage->getSummary() /usr/local/zend/share/pear/PHP/CodeCoverage/Report/HTML.php:128
[24-Jan-2012 00:11:09 UTC] PHP 7. PHP_CodeCoverage->processUncoveredFilesFromWhitelist() /usr/local/zend/share/pear/PHP/CodeCoverage.php:354
谢谢!
克里斯
答案 0 :(得分:3)
该错误意味着/home/za/application/modules/proposal/views/helpers/FormSpecial.php
声明了一个名为Zend_View_Helper_FormSpecial
的类,该类已由其他模块声明 - 可能是Zend Framework中的.../Zend/View/Helper/FormSpecial.php
。如果您打算将Zend的FormSpecial
替换为您自己的,则需要为其指定一个不同的类名。
问题是PHP_CodeCoverage将加载尚未加载的白名单中的每个PHP文件。如果其中一个模块定义了一个具有相同名称的类,则会出现此错误。