2017-09-12 1 views
0

Je viens de commencer à utiliser Travis CI pour tester mon code PHP. Sometimes, builds échoue avec sans que je changé tout code correspondant le messageTravis ne peut pas trouver 'PHPUnit_Framework_TestCase' - parfois

PHP Fatal error: Class 'PHPUnit_Framework_TestCase' not found in /home/travis/build/ms609/citation-bot/tests/phpunit/expandFnsTest.php on line 13

Sur other occasions,, les builds réussir.
Cela me fait penser que le problème est à la fin de Travis plutôt que le mien. Cela me fait réfléchir: y a-t-il quelque chose que je puisse faire pour réduire la probabilité de rencontrer cette erreur? Et sur les builds quand l'erreur survient, est-il possible que Travis tente à nouveau de reconstruire la build sans faire de nouvelle validation?

+1

double possible de [non trouvé Classe de PHPUnit \ _Framework \ _TestCase '] (https://stackoverflow.com/questions/42811164/class-phpunit-framework-testcase-not-found) – Robson

+0

J'ai clarifié la réponse ci-dessous pour expliquer pourquoi la réponse n'a pas résolu mon problème. – ms609

Répondre

1

J'avais hérité d'un testcase écrit en utilisant une ancienne version de phpunit. Pour une compatibilité ascendante, après advice elsewhere, j'avais ajouté le code

if (!class_exists('\PHPUnit\Framework\TestCase') && 
    class_exists('\PHPUnit_Framework_TestCase')) { 
    class_alias('\PHPUnit_Framework_TestCase', 'PHPUnit\Framework\TestCase'); 
} 

ce que je devais faire ensuite était remplacer

class myTest extends PHPUnit_Framework_TestCase { 

avec

class myTest extends PHPUnit\Framework\TestCase { 

En ce qui concerne la deuxième partie de la question, se connecter à Travis CI révèle une option "restart build" sur la page de construction.