7

すべてのスクリプトで xdebug コード カバレッジを有効にしたくありませんが、コード カバレッジを生成する毎日の jenkins ビルドで有効にしたいと考えています。

私は次のことを試しました

phpunit -d xdebug.coverage_enable=1 -c phpunit-coverage.xml.dist

ただし、常に次のエラーが発生します

Configuration read from phpunit-coverage.xml.dist


Fatal error: Uncaught exception 'PHP_CodeCoverage_Exception' with message 'You need to set xdebug.coverage_enable=On in your php.ini.' in /usr/local/lib/php/PHP/CodeCoverage/Driver/Xdebug.php on line 72

PHP_CodeCoverage_Exception: You need to set xdebug.coverage_enable=On in your php.ini. in /usr/local/lib/php/PHP/CodeCoverage/Driver/Xdebug.php on line 72

Call Stack:
    0.0002     627488   1. {main}() /usr/local/bin/phpunit:0
    0.0050    1095880   2. PHPUnit_TextUI_Command::main() /usr/local/bin/phpunit:46
    0.0050    1096608   3. PHPUnit_TextUI_Command->run() /usr/local/lib/php/PHPUnit/TextUI/Command.php:130
    0.6419   39830848   4. PHPUnit_TextUI_TestRunner->doRun() /usr/local/lib/php/PHPUnit/TextUI/Command.php:192
    0.9760   40345400   5. PHP_CodeCoverage->__construct() /usr/local/lib/php/PHPUnit/TextUI/TestRunner.php:258
    0.9764   40358504   6. PHP_CodeCoverage_Driver_Xdebug->__construct() /usr/local/lib/php/PHP/CodeCoverage.php:119

毎回php.iniを変更することなく、これを機能させる方法についてのアイデアはありますか?

4

4 に答える 4

1

結局、私が最初に望んでいたことがあなたにはできないことがわかりました。

代わりに、xdebug とカバレッジが有効になっている 2 つ目の php.ini ファイルを追加することで解決できます。次に、私のbuild.xmlで、次を使用して実行しました。

php -c /usr/local/lib/php-coverage.ini /usr/bin/phpunit -c app/
于 2013-07-30T13:27:32.320 に答える