Запуск phpunit без аргументов после установки Xdebug через PECL генерирует предупреждения о разрешениях - PullRequest
0 голосов
/ 11 октября 2011

Я использую Zend Framework 1.10 в Ubuntu 10.04, только что установил Xdebug для генерации покрытия кода через PECL.

Если я запускаю phpunit так:

$ phpunit --coverage-html ~/coverage

Работает просто отлично. Выполняются юнит-тесты, затем генерируется выход покрытия кода. Нет сообщений об ошибках или предупреждений.

Но если я сделаю:

$ phpunit

Тесты работают нормально, но когда начинается покрытие кода, я получаю следующее:

Generating code coverage report, this may take a moment.PHP Warning:  mkdir(): Permission denied in /usr/share/php/PHPUnit/Util/Filesystem.php on line 209
PHP Stack trace:
PHP   1. {main}() /usr/bin/phpunit:0
PHP   2. PHPUnit_TextUI_Command::main() /usr/bin/phpunit:52
PHP   3. PHPUnit_TextUI_Command->run() /usr/share/php/PHPUnit/TextUI/Command.php:147
PHP   4. PHPUnit_TextUI_TestRunner->doRun() /usr/share/php/PHPUnit/TextUI/Command.php:214
PHP   5. PHPUnit_Util_Report::render() /usr/share/php/PHPUnit/TextUI/TestRunner.php:479
PHP   6. PHPUnit_Util_Filesystem::getDirectory() /usr/share/php/PHPUnit/Util/Report.php:87
PHP   7. mkdir() /usr/share/php/PHPUnit/Util/Filesystem.php:209

Warning: mkdir(): Permission denied in /usr/share/php/PHPUnit/Util/Filesystem.php on line 209

Call Stack:
    0.0003     322324   1. {main}() /usr/bin/phpunit:0
    0.0521    4658252   2. PHPUnit_TextUI_Command::main() /usr/bin/phpunit:52
    0.0521    4658716   3. PHPUnit_TextUI_Command->run() /usr/share/php/PHPUnit/TextUI/Command.php:147
    0.5944   12773356   4. PHPUnit_TextUI_TestRunner->doRun() /usr/share/php/PHPUnit/TextUI/Command.php:214
   37.1550   24746768   5. PHPUnit_Util_Report::render() /usr/share/php/PHPUnit/TextUI/TestRunner.php:479
   37.1550   24746768   6. PHPUnit_Util_Filesystem::getDirectory() /usr/share/php/PHPUnit/Util/Report.php:87
   37.1560   24746984   7. mkdir() /usr/share/php/PHPUnit/Util/Filesystem.php:209

До того, как я установил Xdebug, запуск phpunit без каких-либо аргументов работал просто отлично.

Полагаю, это просто глупая проблема с разрешениями, возникающая из-за моей установки Xdebug на PECL, но похоже, что все в / usr / share / php / phpunit должно быть разрешено от имени root, soooooo ... есть идеи?

1 Ответ

0 голосов
/ 11 октября 2011

Сообщение об ошибке просто говорит вам, что mkdir не может создать папку где-то , но не там, где она пытается это сделать.

Я бы предположил, что у вас есть phpunit.xml.dist, в котором <logger> типа coverage-html определено с целью, которой нет на вашем компьютере, и у вашего текущего пользователя нет прав на запись.тоже.

PHPUnit не пытается сгенерировать отчет о покрытии, если кто-то не скажет, что делать, и если вы не сделаете это в кли, то phpunit.xml - это единственный оставшийся вариант.

...