Call to undefined method PHP_CodeCoverage_Filter::getInstance()
Ubuntu 11.10 has had an issue for a while that hasn't been fixed. This is the only thing that will get phpunit to work with pear. (Outside of using pear you can look up a way to do it without pear. There is an article online about that but I wouldn't want that kind of burden to do it manually). This is the only thing that worked for me:
sudo apt-get remove phpunit
sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover pear.symfony-project.com
sudo pear channel-discover components.ez.no
sudo pear update-channels
sudo pear upgrade-all
sudo pear install --alldeps phpunit/PHPUnit
sudo pear install --force --alldeps phpunit/PHPUnit
The executable script that loads PHPUnit must not have been updated when going to 3.6.x. Reinstall it.
sudo pear uninstall phpunit/PHPUnit
sudo pear install phpunit/PHPUnit
If this doesn't work, make sure PEAR itself is up-to-date.
For some, Anthony's solution will not work fully because of the Unknown remote channel: pear.symfony.com
or phpunit/PHPUnit requires package "channel://pear.symfony.com/Yaml"
.
SO here is the upgraded solution that solves this:
sudo apt-get remove phpunit
sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover pear.symfony-project.com
sudo pear channel-discover components.ez.no
sudo pear channel-discover pear.symfony.com
sudo pear update-channels
sudo pear upgrade-all
sudo pear install pear.symfony.com/Yaml
sudo pear install --alldeps phpunit/PHPUnit
sudo pear install --force --alldeps phpunit/PHPUnit