I'm getting incorrect code coverage reports with PHPUnit, and I believe it's a bug with XDebug.
How can I configure PHPUnit to use one of its other drivers, namely, PHPDBG?
(I'm using PHPUnit 4.7.7 and PHP 5.5.12)
PHPUnit selects the driver from the PHP Runtime environment so to run PHPUnit with PHPDBG you have to have that binary installed.
You will have to compile PHP with the option '--enable-phpdbg' but this is only for PHP 5.6 and above.
The instructions for installing for PHP 5.4 and above are, (these are taken from https://github.com/krakjoe/phpdbg), and to quote
To install phpdbg, you must compile the source against your PHP installation sources, and enable the SAPI with the configure command.
cd /usr/src/php-src/sapi
git clone https://github.com/krakjoe/phpdbg
cd ../
./buildconf --force
./configure --enable-phpdbg
make -j8
make install-phpdbg
Once installed you have to call PHPUnit through the phpdbg binary mine is located in '/usr/local/php7/bin' so the command I would use is
/usr/local/php7/bin/phpdbg -qrr phpunit -v
This assumes your 'phpunit' is in your environment path else use the full or relative path to your 'phpunit'.
I have PHPUnit installed via composer in my project source folder which is three directories up in the 'vendor' folder so my command would be
/usr/local/php7/bin/phpdbg -qrr ../../../vendor/bin/phpunit -v
For more information see the documentation for PHPDBG http://phpdbg.com/docs/introduction
Hope this helps
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With