2010-07-17 5 views
2

J'essaie d'exécuter tous les tests dans les sous-dossiers de mon répertoire de test. Cela fonctionne localement sur mon ordinateur mais pas sur le serveur d'intégration.phpunit ne trouve pas de tests dans le répertoire

phpunit ne trouve pas les fichiers de test

[email protected]:~/.hudson/jobs/stendhal_website/workspace$ phpunit tests 
PHPUnit 3.4.5 by Sebastian Bergmann. 
Time: 0 seconds, Memory: 4.50Mb 
OK (0 tests, 0 assertions) 

Le fichier de test, cependant, existe et est lisible:

[email protected]:~/.hudson/jobs/stendhal_website/workspace$ find tests -name \*Test.php 
tests/scripts/pharauroa/common/net/deserializerTest.php 
[email protected]:~/.hudson/jobs/stendhal_website/workspace$ ls -l tests/scripts/pharauroa/common/net/deserializerTest.php 
-rw-r--r-- 1 hudson hudson 6957 Jul 17 12:54 tests/scripts/pharauroa/common/net/deserializerTest.php 

Je peux commencer en spécifiant explicitement sur la ligne de commande de phpunit:

[email protected]:~/.hudson/jobs/stendhal_website/workspace$ phpunit tests/scripts/pharauroa/common/net/deserializerTest.php 
PHPUnit 3.4.5 by Sebastian Bergmann. 
..... 
Time: 0 seconds, Memory: 5.00Mb 
OK (5 tests, 32 assertions) 

Ce que j'ai essayé jusqu'à présent:

En utilisant strace, je peux voir que phpunit scanne récursivement le répertoire tests et statistiques même le fichier deserializerTest.php. Mais il ne s'ouvre pas

"phpunit tests" fonctionne correctement sur mon ordinateur local. Les deux ordinateurs exécutent Ubuntu Lucid 10.04 et phpunit 3.4.5. Le serveur fonctionne dans un chroot.

J'ai essayé d'utiliser

phpunit `find tests -name \*.php` 

mais phpunit ne paie que l'attention sur le premier paramètre.

Je sais qu'il est possible d'écrire des classes de suite mais cela semble être un cauchemar de maintenance. J'ai l'impression de manquer quelque chose d'évident.

Répondre

0

J'ai essayé de reproduire cela avec PHPUnit 3.4.5 et la version actuelle 3.4.15 sur Ubunutu 10.04 et cela fonctionne dans les deux cas, donc la mise à niveau pourrait ne pas aider.

Comme vous l'avez dit, cela devrait «fonctionner» comme vous l'avez décrit. Ma meilleure supposition est qu'il y a peut-être un "phpunit.xml" avec certains drapeaux ignorer qui est automatiquement inclus et est seulement présent sur le serveur, même si c'est loin.

Vous pouvez également trouver une aide supplémentaire sur freenode irc dans le canal #phpunit.

Questions connexes