自从升级到 Symfony 2.8 后,当我在 Symfony 根目录中运行 phpunit
时,出现以下错误:
PHP Fatal error: Class 'PHPUnit_Util_ErrorHandler' not found in /var/www/foo/symfony/vendor/symfony/phpunit-bridge/DeprecationErrorHandler.php on line 40
PHP Stack trace:
PHP 1. {main}() /usr/bin/phpunit:0
PHP 2. PHPUnit_TextUI_Command::main() /usr/bin/phpunit:46
PHP 3. PHPUnit_TextUI_Command->run() /usr/share/php/PHPUnit/TextUI/Command.php:129
PHP 4. PHPUnit_TextUI_Command->handleArguments() /usr/share/php/PHPUnit/TextUI/Command.php:138
PHP 5. PHPUnit_Util_Configuration->getTestSuiteConfiguration() /usr/share/php/PHPUnit/TextUI/Command.php:657
PHP 6. PHPUnit_Util_Configuration->getTestSuite() /usr/share/php/PHPUnit/Util/Configuration.php:789
PHP 7. PHPUnit_Framework_TestSuite->addTestFiles() /usr/share/php/PHPUnit/Util/Configuration.php:873
PHP 8. PHPUnit_Framework_TestSuite->addTestFile() /usr/share/php/PHPUnit/Framework/TestSuite.php:416
PHP 9. PHPUnit_Util_Fileloader::checkAndLoad() /usr/share/php/PHPUnit/Framework/TestSuite.php:355
PHP 10. PHPUnit_Util_Fileloader::load() /usr/share/php/PHPUnit/Util/Fileloader.php:76
PHP 11. Symfony\Bridge\PhpUnit\DeprecationErrorHandler::Symfony\Bridge\PhpUnit\{closure}() /usr/share/php/PHPUnit/Util/Fileloader.php:92
THE ERROR HANDLER HAS CHANGED!
在 Symfony 3.0 下也会出现这种情况。我现在应该以不同的方式运行 phpunit 吗?
最佳答案
我刚刚使用 Symfony 2.8 遇到了这个问题。
只需更新本地安装的 phpunit。
运行这个。
phpunit --self-update
应该可以了。
我正在运行 phpunit 版本 4.7.*,但 Symfony 希望看到 phpunit 5.1.3。
您应该清除 app/cache/test 目录。
您还可以将全局 phpunit 符号链接(symbolic link)设置为 Symfony 提供的位于供应商/phpunit/phpunit/phpunit 中的符号链接(symbolic link)
更新:我不确定这个错误指的是什么,我仍然明白它,但似乎是在我遇到测试问题时发生的。至少,这是一个令人困惑的消息。
关于symfony - 升级到 Symfony 2.8/3.0 后无法运行 phpunit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34255249/