phpunit relance les tests aléatoirement

J’essaie de tester mon application symfony2 en utilisant PHPUnit. J’ai un projet où tout fonctionne comme prévu, mais sur mon autre projet, j’ai un comportement étrange: PHPUnit arrête d’exécuter la suite de tests de manière aléatoire vers la fin de tous les tests et redémarre ou redémarre les tests après avoir terminé la suite de tests et écrit le code. couverture. D’autres fois, il fonctionne normalement.

Voici quelques résultats pour rendre visible ce qui se passe (le test redémarre encore et encore):

PHPUnit 3.6.10 by Sebastian Bergmann. Configuration read from C:\workspace\cllctr\app\phpunit.xml ................................................................. 65 / 83 ( 78%) ...........PHPUnit 3.6.10 by Sebastian Bergmann. Configuration read from C:\workspace\cllctr\app\phpunit.xml ................................................................. 65 / 83 ( 78%) ...PHPUnit 3.6.10 by Sebastian Bergmann. Configuration read from C:\workspace\cllctr\app\phpunit.xml ................................................................. 65 / 83 ( 78%) ............PHPUnit 3.6.10 by Sebastian Bergmann. Configuration read from C:\workspace\cllctr\app\phpunit.xml ................................................................. 65 / 83 ( 78%) ............PHPUnit 3.6.10 by Sebastian Bergmann. Configuration read from C:\workspace\cllctr\app\phpunit.xml ................................................................. 65 / 83 ( 78%) .................. Time: 01:03, Memory: 43.00Mb OK (83 tests, 145 assertions) Writing code coverage data to XML file, this may take a moment. Generating code coverage report, this may take a moment. 

Voici un exemple de redémarrage de la suite de tests après l’exécution de tous les tests:

 PHPUnit 3.6.10 by Sebastian Bergmann. Configuration read from C:\workspace\cllctr\app\phpunit.xml ................................................................. 65 / 83 ( 78%) .................. Time: 01:29, Memory: 53.25Mb OK (83 tests, 145 assertions) Writing code coverage data to XML file, this may take a moment. Generating code coverage report, this may take a moment. PHPUnit 3.6.10 by Sebastian Bergmann. Configuration read from C:\workspace\cllctr\app\phpunit.xml ................................................................. 65 / 83 ( 78%) ............PHPUnit 3.6.10 by Sebastian Bergmann. 

Comme mon autre projet s’exécute sans aucun problème, il doit y avoir un problème dans mon code. Mais je ne peux pas comprendre ce qui déclenche éventuellement ce comportement! Les journaux ne montrent rien d’inattendu / étrange.

MODIFIER

Hier, j’ai remarqué quelque chose d’étrange: j’ai décidé de passer de MongoDB à MySQL pour des raisons indépendantes. Une fois la transition terminée, tous les tests sont exécutés sans aucun problème. Je l’ai essayé plusieurs fois et je ne peux plus le reproduire. Comme cela ne s’est produit qu’avec mes tests fonctionnels, j’ai tendance à penser que le problème était ma classe WebTestCase, qui exécute des commandes pour effacer et reconstruire la firebase database. Peut-être que quelqu’un qui utilise aussi MongoDB peut reproduire ce comportement?

Je suggère de vérifier les limites et les pools de connexion des serveurs de firebase database.

Par exemple, si vous avez une limite maximale de 100 connexions et que certains tests laissent les connexions ouvertes (“fuites”), vous atteindrez les limites.

Cela expliquerait également pourquoi, parfois, cela fonctionne et parfois, il atteint la limite, car votre firebase database peut gérer d’autres tâches simultanément.

Vérifiez les connexions réseau persistantes et les autres ressources externes.