2010-07-23 10 views
1

Voici mon fichier phpunit.xml. Toutes les méthodes de journalisation s'arrêtent dès qu'une erreur fatale PHP est atteinte. Je veux être en mesure d'avoir un journal de cette erreur.Comment exporter des tests échoués dans PHPunit en raison d'erreurs de syntaxe ou d'erreurs fatales?

<phpunit verbose="true" colors="true" stopOnFailure="false" syntaxCheck="true"> 
    <logging> 
    <log type="tap" target="results/results.tap"/> 
    <log type="testdox-text" target="results/results.txt" /> 
     <log type="junit" target="results/results.junit" logIncompleteSkipped="true"/> 
     <log type="json" target="results/results.js"/> 
     <log type="coverage-html" target="results/report" charset="UTF-8" 
      yui="false" highlight="false" 
      lowUpperBound="35" highLowerBound="70"/> 
    </logging> 
</phpunit> 

Répondre

0

Depuis phpunit (ou plutôt vos tests) Fonctionner en une erreur fatale l'interpréteur PHP ne peut pas faire beaucoup plus que de mourir si l'exploitation forestière par phpunit semble assez difficile.

Peut-être exécuter chaque test en tant que processus séparé (L'utilisation du commutateur --process-isolation ou du paramètre processIsolation = "true") peut vous aider un peu. Mais cela ralentit votre suite de tests et ainsi de suite. Pour une solution rapide, vous pouvez mettre la sortie d'erreur de php dans un fichier journal (dans le cas où display_errors est activé).

phpunit yourTests 2> errors.log 

Peut-être utiliser un php.ini différent pour votre et fournir un des scénarios de tests logfile ou il suffit de passer à PHP via

echo "" > error.log && phpunit -d error_log=error.log yourTests 

si vous avez au moins un fichier avec les erreurs pour vérifier contre.