PHPUnit: la gestione degli errori Fatal
-
27-09-2019 - |
Domanda
Io uso PHPUnit per i test unitari, ma quando un errore fatale viene attivato, lo script stampi e non ho uscita PHPUnit corretta.
Mi piacerebbe che i soggiorni di uscita PHPUnit correttamente formattato , poiché viene letto da un plugin per Eclipse. In realtà l'errore fatale arresta PHPUnit e in Eclipse il plugin non può interpretare nulla (perché lo script PHPUnit had un errore, invece di gestirlo).
Grazie
Soluzione
È necessario utilizzare le caratteristiche di isolamento processo di PHPUnit - iniziare ogni suite di test in un nuovo processo
.phpunit --process-isolation ...
Questo è l'unico modo per assicurarsi che gli errori fatali non rompere l'output phpunit.
Il tempo di esecuzione
moltiplica l'isolamento dei processi vostro tempo prova, perché per ogni singolo test , una nuova istanza di PHP viene avviato, il bootstrap viene eseguito etc.
Per modificare questa situazione, è possibile scegliere di eseguire casi di test completi in un processo separato (@runTestsInSeparateProcesses
), o unici singoli che sono noti per la fatale a volte (@runInSeparateProcess
).
Altri suggerimenti
set_error_handler () non vi aiuterà lì. È possibile individuare gli errori fatali utilizzando href="http://php.net/manual/en/function.register-shutdown-function.php" ()