web-dev-qa-db-fra.com

phpunit --debug n'affiche toujours que des points

Je veux voir quel test est actuellement exécuté lors d'une exécution de phpunit.

Je utilise le --debug param mais n'obtient toujours que des points:

 $ phpunit --debug 
 PHPUnit 3.7.19 par Sebastian Bergmann. 
 
 Configuration lue depuis /home/foo/bar/phpunit.xml

..SI..

contenu de phpunit.xml:

<phpunit backupGlobals="true"
     bootstrap="tests/bootstrap.php"
     backupStaticAttributes="false"
     cacheTokens="false"
     colors="true"
     convertErrorsToExceptions="true"
     convertNoticesToExceptions="true"
     convertWarningsToExceptions="true"
     forceCoversAnnotation="false"
     mapTestClassNameToCoveredClassName="false"
     printerClass="PHPUnit_TextUI_ResultPrinter"
     processIsolation="false"
     stopOnError="false"
     stopOnFailure="false"
     stopOnIncomplete="false"
     stopOnSkipped="false"
     testSuiteLoaderClass="PHPUnit_Runner_StandardTestSuiteLoader"
     strict="false"
     verbose="true">
    <testsuites>
    <testsuite name="foo Tests">
        <directory>./tests</directory>
    </testsuite>
    </testsuites>
    <filter>
    <whitelist addUncoveredFilesFromWhitelist="true">
        <directory suffix=".php">./src</directory>
    </whitelist>
    </filter>
    <logging>
    <log type="coverage-clover" target="./clover.xml"/>
    </logging>
</phpunit>

Quelle peut en être la raison?

37
Alex

J'ai eu le même problème et l'ai résolu en en supprimant ceci:

printerClass="PHPUnit_TextUI_ResultPrinter"

à partir des options de la balise de base dans le fichier de configuration phpunit.xml.

13
Gerg

Vous souhaitez utiliser --testdox

phpunit --testdox

48
neilakapete

(Répondre à la question de "comment voir quel test est en cours d'exécution")

Comme vous l'avez remarqué, --debug et --verbose ne sont d'aucune utilité. (J'utilise --verbose la plupart du temps, mais parce qu'il me dit plus d'informations lorsque les choses tournent mal et n'est pas vraiment très verbeux le reste du temps.)

Voici mon premier essai:

phpunit --verbose --tap

Je l'ai essayé sur une suite de tests qui a des tests lents. Cela a fonctionné à merveille jusqu'au test 21, puis rien, puis quelques minutes plus tard, les tests 22 à 598 sont apparus d'un seul coup. Je soupçonne la mise en mémoire tampon de sortie. Voici une variante qui n'a pas ce problème, mais nécessite deux fenêtres de terminal ouvertes:

phpunit --verbose --log-tap tap.log

Puis dans une autre fenêtre:

tail -f tap.log

En fait, il ne vous dit pas exactement ce que vous voulez, car il indique uniquement la fonction sur laquelle travaillait . Ainsi, lorsque vous obtenez un retard, vous devez attendre la fin du test pour découvrir quel est le test lent.

Pour obtenir plus de contrôle, pensez à écrire votre propre écouteur de test .

22
Darren Cook

La meilleure solution que j'ai trouvée était d'ajouter une section de journalisation à votre fichier phpunit.xml

<logging>
    <log type="testdox-text" target="php://stdout"/>
</logging>
3
Yevgeniy Afanasyev