PHPunit代码覆盖率错误

dim*_*mbo 7 php pear phpunit code-coverage

PHPunit正在运行,但我收到此代码覆盖率错误,并且没有获得代码覆盖率报告.

有谁知道如何解决这一问题?

谢谢,

德棉.

demian@dimbo-TP:/var/www/z2d2/tests$ phpunit
PHPUnit 3.5.15 by Sebastian Bergmann.

...

Time: 1 second, Memory: 13.00Mb

OK (3 tests, 4 assertions)

Generating code coverage report, this may take a moment.PHP Fatal error:  Class 'PHP_Token_Stream' not found in /usr/share/php/PHP/Token/Stream/CachingFactory.php on line 68
PHP Stack trace:
PHP   1. {main}() /usr/bin/phpunit:0
PHP   2. PHPUnit_TextUI_Command::main() /usr/bin/phpunit:49
PHP   3. PHPUnit_TextUI_Command->run() /usr/share/php/PHPUnit/TextUI/Command.php:129
PHP   4. PHPUnit_TextUI_TestRunner->doRun() /usr/share/php/PHPUnit/TextUI/Command.php:188
PHP   5. PHP_CodeCoverage_Report_HTML->process() /usr/share/php/PHPUnit/TextUI/TestRunner.php:363
PHP   6. PHP_CodeCoverage_Report_HTML->addItems() /usr/share/php/PHP/CodeCoverage/Report/HTML.php:135
PHP   7. PHP_CodeCoverage_Report_HTML_Node_Directory->addFile() /usr/share/php/PHP/CodeCoverage/Report/HTML.php:214
PHP   8. PHP_CodeCoverage_Report_HTML_Node_File->__construct() /usr/share/php/PHP/CodeCoverage/Report/HTML/Node/Directory.php:156
PHP   9. PHP_CodeCoverage_Util::getLinesToBeIgnored() /usr/share/php/PHP/CodeCoverage/Report/HTML/Node/File.php:169
PHP  10. PHP_Token_Stream_CachingFactory::get() /usr/share/php/PHP/CodeCoverage/Util.php:271

Fatal error: Class 'PHP_Token_Stream' not found in /usr/share/php/PHP/Token/Stream/CachingFactory.php on line 68

Call Stack:
    0.0002     326940   1. {main}() /usr/bin/phpunit:0
    0.0434     666604   2. PHPUnit_TextUI_Command::main() /usr/bin/phpunit:49
    0.0435     667084   3. PHPUnit_TextUI_Command->run() /usr/share/php/PHPUnit/TextUI/Command.php:129
    0.0943    4312004   4. PHPUnit_TextUI_TestRunner->doRun() /usr/share/php/PHPUnit/TextUI/Command.php:188
    1.1150   13272196   5. PHP_CodeCoverage_Report_HTML->process() /usr/share/php/PHPUnit/TextUI/TestRunner.php:363
    1.1521   14100768   6. PHP_CodeCoverage_Report_HTML->addItems() /usr/share/php/PHP/CodeCoverage/Report/HTML.php:135
    1.1521   14101320   7. PHP_CodeCoverage_Report_HTML_Node_Directory->addFile() /usr/share/php/PHP/CodeCoverage/Report/HTML.php:214
    1.1521   14103132   8. PHP_CodeCoverage_Report_HTML_Node_File->__construct() /usr/share/php/PHP/CodeCoverage/Report/HTML/Node/Directory.php:156
    1.1595   14122724   9. PHP_CodeCoverage_Util::getLinesToBeIgnored() /usr/share/php/PHP/CodeCoverage/Report/HTML/Node/File.php:169
    1.1595   14123076  10. PHP_Token_Stream_CachingFactory::get() /usr/share/php/PHP/CodeCoverage/Util.php:271
Run Code Online (Sandbox Code Playgroud)

edo*_*ian 10

您正在运行PHPUnit 3.5.x,因此可以使用以下命令安装所需的令牌流版本:

sudo pear install --force --alldeps phpunit/PHP_CodeCoverage-1.0.2
Run Code Online (Sandbox Code Playgroud)

如果你想更新到当前版本的phpunit那么单独的行

sudo pear install --force --alldeps phpunit/phpunit
Run Code Online (Sandbox Code Playgroud)

将完成这项工作,但如果我没记错的话,你正在尝试使用Zend Framework测试环境并且只适用于PHPUnit 3.5.15


如果两个选项都失败或不适合

sudo pear install --force phpunit/PHP_TokenStream
Run Code Online (Sandbox Code Playgroud)

什么一定会让你工作PHPUnit 3.5.15

http://dustyreagan.com/downgrade-phpunit-3-6-to-3-5-15/

重要说明:如果您通过PEAR安装PHPUnit.不再支持此安装方法,并且将在2014年12月31日之前关闭http://pear.phpunit.de/.

请阅读http://phpunit.de/manual/current/en/installation.html并了解如何从PHAR使用PHPUnit或通过Composer安装它.

  • @dimbo尝试`pear install --force phpunit/PHP_TokenStream-1.0.1` (5认同)