2011-05-19 3 views
5

Je le code suivant:PHPUnit s'exécute uniquement à partir de la ligne de commande. Pourquoi?

<?php 
    class MyTest extends PHPUnit_Framework_TestCase 
    { 
     public function testCalculate() 
     { 
      $this->assertEquals(2, 1 + 1); 
     } 
    } 
?> 

Quand j'ouvre le fichier PHP dans le navigateur, je reçois l'erreur suivante:

Erreur fatale: de la PHPUnit_Framework_TestCase 'Classe pas trouvé

Cependant, si j'utilise la ligne de commande, il fonctionne très bien: phpunit [local_path_here] /testcase.php

Résultat:

. 

Time: 0 seconds, Memory: 5.00Mb 

OK (1 test, 1 assertion) 

Pourquoi est-ce? Comment puis-je le faire fonctionner dans le navigateur?

+2

Pourquoi pas répondu !? Je veux savoir! – ChaseMoskal

Répondre

2

Vous ne pouvez pas exécuter des tests unitaires dans le navigateur. Peut-être dans l'avenir: http://sebastian-bergmann.de/archives/638-PHPUnit-3.0.html#c4983

Si vous voulez voir la couverture code d'exécution

phpunit --coverage-html=coverage testcase.php 

puis ouvrez le fichier index.html dans le répertoire de couverture.

Sinon, vous devez exécuter vos tests à partir de la ligne de commande.

0

Vous pouvez avoir un chemin d'inclusion différent sur la ligne de commande. Vérifiez si vous avez un fichier php-cli.ini en plus du fichier php.ini normal. Le premier sera utilisé lorsque vous exécuterez PHP depuis la ligne de commande. Cela a probablement un autre paramètre include_path. Il peut inclure le répertoire PEAR, par exemple, si PHPUnit a été installé via PEAR.

Questions connexes