2010-11-30 7 views
6

Je viens de commencer à créer des tests unitaires pour mon code. J'ai eu PHPUnit qui fonctionnait dans le passé mais aujourd'hui ce n'est pas jouer au ballon. Avant de créer de nouveaux tests, j'ai décidé d'en lancer d'anciens pour voir s'ils étaient toujours valables, mais j'ai reçu une erreur fatale de PHPUnit. Je cours PHPUnit de la CLI dans Ubuntu.phpUnit Erreur fatale

phpunit TestCaseFile 

PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/imap.ini on line 1 in Unknown on line 0 
PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0 

Warning: Directive 'register_long_arrays' is deprecated in PHP 5.3 and greater in Unknown on line 0 

Warning: Directive 'magic_quotes_gpc' is deprecated in PHP 5.3 and greater in Unknown on line 0 

Fatal error: Class 'PHPUnit_Framework_MockObject_Matcher_InvokedRecorder' not found in /usr/share/php/PHPUnit/Framework/MockObject/Matcher/InvokedAtLeastOnce.php on line 60 

Call Stack: 
    0.0002  651688 1. {main}() /usr/bin/phpunit:0 
    0.0031 1173168 2. require('/usr/share/php/PHPUnit/TextUI/Command.php') /usr/bin/phpunit:48 
    0.0046 1485456 3. require_once('/usr/share/php/PHPUnit/TextUI/TestRunner.php') /usr/share/php/PHPUnit/TextUI/Command.php:47 
    0.0047 1503344 4. require_once('/usr/share/php/PHPUnit/Framework.php') /usr/share/php/PHPUnit/TextUI/TestRunner.php:47 
    0.0168 3848688 5. require('/usr/share/php/PHPUnit/Framework/TestCase.php') /usr/share/php/PHPUnit/Framework.php:68 
    0.0178 4091880 6. require_once('/usr/share/php/PHPUnit/Framework/MockObject/Matcher/InvokedAtLeastOnce.php') /usr/share/php/PHPUnit/Framework/TestCase.php:49 

J'ai vérifié pour vous assurer que les fichiers existent, que les chemins de fichiers etc sont corrects, mais je ne sais pas vraiment comment s'y prendre pour fixer quelqu'un peut-il aider?

Répondre

3

Pas de soucis les gens je l'ai réparé.

Il se trouve que quand j'installé PHPUnit j'ai installé avec APT j'ai couru

apt-get remove phpunit

puis re installé

apt-get install phpunit

Got me la dernière version et tout fonctionne très bien. J'espère que cela aide d'autres personnes ayant un problème similaire.

22

J'ai eu ce problème sur OSX. J'ai dû supprimer phpunit via PEAR, ajouter à nouveau le canal du composant ez et réinstaller phpunit.

$ phpunit 
PHP Fatal error: Class 'PHPUnit_Framework_MockObject_Matcher_InvokedRecorder' not found in /usr/lib/php/PHPUnit/Framework/MockObject/Matcher/InvokedAtLeastOnce.php on line 60 
$ sudo pear uninstall phpunit/PHPUnit 
uninstall ok: channel://pear.phpunit.de/PHPUnit-3.4.11 
$ sudo pear install phpunit/PHPUnit 
Unknown remote channel: components.ez.no 
Unknown remote channel: components.ez.no 
phpunit/PHPUnit can optionally use PHP extension "dbus" 
phpunit/PHP_CodeCoverage requires package "channel://components.ez.no/ConsoleTools" (version >= 1.6) 
phpunit/PHP_CodeCoverage can optionally use PHP extension "xdebug" (version >= 2.0.5) 
phpunit/PHPUnit requires package "phpunit/PHP_CodeCoverage" (version >= 1.0.2) 
phpunit/PHP_TokenStream requires package "channel://components.ez.no/ConsoleTools" (version >= 1.6) 
No valid packages found 
install failed 
$ sudo pear channel-discover components.ez.no 
Adding Channel "components.ez.no" succeeded 
Discovery of channel "components.ez.no" succeeded 
$ sudo pear update-channels 
.... 
$ sudo pear install phpunit/PHPUnit 
phpunit/PHPUnit can optionally use PHP extension "dbus" 
phpunit/PHP_CodeCoverage can optionally use PHP extension "xdebug" (version >= 2.0.5) 
downloading PHPUnit-3.5.10.tgz ... 
.... 
install ok: channel://components.ez.no/Base-1.8 
install ok: channel://components.ez.no/ConsoleTools-1.6.1 
install ok: channel://pear.phpunit.de/PHP_TokenStream-1.0.1 
install ok: channel://pear.phpunit.de/PHP_CodeCoverage-1.0.3 
install ok: channel://pear.phpunit.de/PHPUnit-3.5.10 
$ phpunit 
PHPUnit 3.5.10 by Sebastian Bergmann. 

Trié.

+1

Le correctif fonctionne très bien dans Windows, il vous suffit de supprimer la partie 'sudo' :) –

+0

Excellent. Merci :) –

+0

Parfait! Merci – Quentin

2

D'abord j'ai eu ce problème:

poire/XML_RPC2 nécessite que l'extension PHP "curl"

J'installé php5-curl via Ubuntu Software Center.

Ensuite, il y a eu ce problème:

canal à distance inconnue: components.ez.no

Les dépendances pourraient donc être pas installé. Après avoir fait cela:

poire canal sudo découvrir components.ez.no

tout juste a bien fonctionné.

Questions connexes