3 Stimmen

phpunit findet keine Tests im Verzeichnis

Ich versuche, alle Tests in Unterordnern meines Testverzeichnisses auszuführen. Das funktioniert lokal auf meinem Computer, aber nicht auf dem Integrationsserver.

phpunit findet die Testdateien nicht

hudson@slipstream:~/.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)

Die Testdatei existiert jedoch und ist lesbar:

hudson@slipstream:~/.hudson/jobs/stendhal_website/workspace$ find tests -name \*Test.php
tests/scripts/pharauroa/common/net/deserializerTest.php
hudson@slipstream:~/.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

Ich kann es starten, indem ich es explizit in der Kommandozeile von phpunit angebe:

hudson@slipstream:~/.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)

Was ich bisher ausprobiert habe:

Mit strace kann ich sehen, dass phpunit das Verzeichnis tests rekursiv durchsucht und sogar die Datei deserializerTest.php findet. Aber es öffnet nicht

"phpunit tests" funktioniert auf meinem lokalen Computer einwandfrei. Auf beiden Computern läuft Ubuntu Lucid 10.04 und phpunit 3.4.5. Der Server läuft in einem chroot.

Ich habe versucht, die

phpunit `find tests -name \*.php`

aber phpunit beachtet nur den ersten Parameter.

Ich weiß, dass es möglich ist, Suite-Klassen zu schreiben, aber das scheint ein Alptraum in Sachen Wartung zu sein. Ich habe das Gefühl, dass ich etwas Offensichtliches übersehe.

1voto

spap Punkte 26

Ich hatte das gleiche Problem mit hudson/phpunit, Sie sollten die Umgebungsvariable "HUDSON_HOME" setzen und ein neues Heimatverzeichnis ohne "." im Pfad angeben. (Also sicher von ~/.hudson verschieben!)

Siehe: http://wiki.hudson-ci.org/display/HUDSON/Administering+Hudson

0voto

edorian Punkte 37719

Ich habe versucht, dies mit PHPUnit 3.4.5 und der aktuellen Version 3.4.15 auf Ubunutu 10.04 zu reproduzieren und es funktioniert in beiden, so dass ein Upgrade nicht helfen könnte.

Wie Sie sagten, "sollte" es so funktionieren, wie Sie es beschrieben haben. Meine beste Vermutung ist, dass es vielleicht eine "phpunit.xml" mit einigen Ignorier-Flags gibt, die automatisch eingebunden wird und nur auf dem Server vorhanden ist, auch wenn das weit hergeholt ist.

Sie können auch zusätzliche Hilfe auf freenode irc im #phpunit Channel finden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X