2010-08-08 3 views
3

J'ai quelques problèmes avec les rapports de couverture de code dans PHPunit et le framework zend. Chaque fois que je lance un test de PHPUnit la couverture de code échoue renvoyer le message suivant:La couverture de code échoue avec PHPUnit et le Zend Framework

 

PHPUnit 3.4.15 by Sebastian Bergmann. 

I.......III.I................................IIIIIIIIIIIIIII 60/93 
IIII....I....I..II..II.....IIIIII 

Time: 4 seconds, Memory: 22.25Mb 

OK, but incomplete or skipped tests! 
Tests: 93, Assertions: 174, Incomplete: 36. 

Generating code coverage report, this may take a moment.PHP Fatal error: Cannot redeclare class Klunde_Auth in /Users/kristianlunde/workspaces/private/klunde/Library/Klunde/Auth.php on line 9 

Fatal error: Cannot redeclare class Klunde_Auth in /Users/kristianlunde/workspaces/private/klunde/Library/Klunde/Auth.php on line 9 
 

Mon fichier phpunit.xml ressemble à ceci:

 

<phpunit bootstrap="./application/bootstrap.php" colors="true"> 
<testsuite name="Klunde"> 
    <directory>./application/</directory> 
    <directory>./Library/Klunde</directory> 
</testsuite> 

<filter> 
    <whitelist> 
    <directory suffix=".php">../application</directory> 
    <directory suffix=".php">../Library/Klunde</directory> 
    <exclude> 
    <directory suffix=".phtml">../application/</directory> 
    <file>../application/Bootstrap.php</file> 
      <file>../application/controllers/ErrorController.php</file> 
      </exclude> 
    </whitelist> 
</filter> 

<logging> 
    <log type="coverage-html" target="./log/report" charset="UTF-8" yui="true" 
    highlight="true" lowUpperBound="50" highLowerBound="80" /> 

    <log type="testdox-html" target="./log/testdox.html" /> 
</logging> 
</phpunit> 
 

Je l'ai fait une

var_dump(get_included_files()); 

au haut du fichier Auth et il a essayé d'inclure le fichier plus d'une fois avant qu'il échoue.

J'ai également essayé de supprimer le fichier Klunde_Auth.php juste pour voir s'il s'agissait d'un problème d'un fichier, mais l'erreur est déclenchée sur le fichier suivant dans le répertoire Library/Klunde.

Je suis en cours d'exécution OS X Snow Leopard, avec PHP 5.3.1, XDebug 2.1.0beta3 et PHPUnit 3.4.15

Tout sera très apprécié l'aide et de l'assistance.

Merci.

+0

Bump! Est-ce que cela a été résolu? Si oui, je suis curieux de la solution. –

+0

@ Janis, je l'ai résolu d'une certaine façon, mais je ne peux vraiment pas me souvenir de ce que je devais faire pour le résoudre. Rencontrez-vous les mêmes problèmes? Je peux jeter un oeil à ma solution si tu veux. –

Répondre

2

ajoutez un appel debug_print_backtrace() au début de votre Klunde_Auth.php, avant le début de la déclaration de classe elle-même.

Puis relancez la suite de tests, maintenant vous verrez le backtrace entier à chaque fois que le fichier est inclus, cela devrait vous aider à comprendre à partir de quoi il est inclus deux fois.

Questions connexes