PHPUnit - tut nichts, keine Fehler, keine Ausgabe
Sorry für ein weiteres "phpunit funktioniert nicht' Frage. Es funktioniert seit Jahren. Heute habe ich neu installiert PEAR und phpunit aus Gründen, die nicht im Zusammenhang mit diesem problem. Wenn ich nun phpunit ausführen, wie ich es oft Tat. Nichts passiert. Die cli zeigt mir eine neue Linie, keine Ausgabe zu löschen.
Hat jemand auf dieses problem oder hat eine Idee was das verursacht haben könnte.
PHPUnit Version: 3.5.15
PEAR Version: 1.9.4
PHP Version: 5.3.8
Windows 7
InformationsquelleAutor der Frage markus | 2011-09-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen Sie die einfachste test-Klasse können Sie ohne
bootstrap.php
oderphpunit.xml
zu überprüfen, ob die neue installation funktioniert. PHPUnit wird aufhören, ohne jede Nachricht, wenn es kann nicht instanziiert werden alle test-Fälle-eines für jede test-Methode und Daten-provider--vor dem ausführen eines tests.InformationsquelleAutor der Antwort David Harkness
Ich bin auf OSX und MAMP. Zu Fehlermeldungen erhalten, musste ich passen Sie die folgenden Einträge in
php.ini
:Bitte nicht, dass dies in
/Applications/MAMP/bin/php/php5.3.6/conf/php.ini
.InformationsquelleAutor der Antwort BetaRide
Für die Zukunft, für diejenigen, die vor ein problem mit PHPUnit, PHPUnit versagt, leise, einfach fügen Sie diese drei Zeilen in phpunit.xml:
Danach führen Sie die tests erneut aus, und jetzt sehen Sie, warum PHPUnit versagt,
... GENIEßEN SIE UNIT-TESTS 🙂
InformationsquelleAutor der Antwort Ahmad Hajjar
Ich kenne das orignal poster die Frage ist schon beantwortet, aber eben für alle Menschen auf der Suche in die Zukunft: eine Sache, die verursachen können, PHPUnit, fehl (d.h. er bleibt einfach stehen tests ausführen, ohne zu sagen warum) ist, dass Sie einen error-handler, dass es vor jedem test ausgeführt, die dazu bestimmt ist, zu erfassen, - Fehler und zeigt Sie am Ende des Tests ausgeführt werden. Das problem ist, dass sich bestimmte Fehler stoppen die Ausführung des gesamten Tests laufen.
Was ich generell tun, wenn das passiert, in einem ersten Schritt wird zurückgesetzt, der Fehler-handler zu etwas, wird sofort die Ausgabe der Fehlermeldung. In meinem Basis-test-Klasse, ich habe eine Methode namens
setVerboseErrorHandler
das nenne ich an der Spitze der test - (oder insetUp
), wenn dies geschieht. Die unten benötigt php 5.3 oder höher (wegen der Schließung), wenn Sie also auf 5.2 oder niedriger, können Sie machen es zu einem regelmäßigen Funktion.InformationsquelleAutor der Antwort Isaac
Haben Sie schon herausgefunden, wie es funktioniert, aber meine Lösung war etwas anders.
Erste Sache, die Sie tun können, ist zu prüfen, den exit-status. Wenn es nicht 0 ist, dann PHP beendet und wegen der INI Konfiguration der Einstellungen festgelegt, werden keine PHP-Fehlermeldungen ausgegeben. Was ich Tat, war, aktivieren Sie die Option "display_errors" INI-Einstellung, und legen Sie "error_reporting" auf
E_ALL
. Ich war dann in der Lage, Fehler zu identifizieren, wie PHP nicht in der Lage zu analysieren, eine bestimmte Skript. Sobald ich fixiert, dass, PHPUnit lief einwandfrei.InformationsquelleAutor der Antwort Kevin Herrera
Habe ich es geschafft spektakulär malen Sie mich in eine Ecke mit einer benutzerdefinierten "fatal error handler", die in bestimmten seltenen Bedingungen sich herausstellte, Ausgabe nichts. Diese Bedingungen, in übereinstimmung mit Murphy ' s Law, materialisiert, einmal hatte ich vergessen, der hf an Ort und Stelle war.
Da es nicht wirklich eine "PHPunit problem", keine der anderen Antworten geholfen [obwohl @David das problem war an der Unterseite, die gleiche Sache], obwohl die Symptome waren die gleichen - phpunit-Einstellung mit keine Ausgabe, keine Fehler, kein Protokoll und keine Ahnung.
Am Ende musste ich zurückgreifen, um eine Schritt-für-Schritt-Ablaufverfolgung des gesamten test-suite, indem diese in der bootstrap-code:
Wenn jemals jemand schafft, schlimmer als diese, und irgendwie block stdout als auch, diese änderung sollte funktionieren:
InformationsquelleAutor der Antwort LSerni
Überprüfen Sie, dass Sie noch nicht geschrieben keine Logik in deinem code, der nur stirbt, ohne Ausgang. Zum Beispiel,
Dieser war genau mein Fall; ich hatte einige Annahmen über die Umwelt, die waren richtig, wenn der code ausgeführt wird über Apache, aber nicht ganz erfüllt beim ausführen von CLI und der code nicht echo keine Ausgabe.
PHPUnit habe versucht, um die bootstrap-Datei, bevor Sie den üblichen init-Ausgang, starb aber während der bootstrapping-Prozess, deshalb beendet mit status 0 und kein Ausgang.
InformationsquelleAutor der Antwort anroots
Wenn du von der Kommandozeile aus ausgeführt, eine aktuelle version von phpunit wie diese
Und Sie sofort auf den prompt zurückkehren, ohne Nachrichten, ist dies wahrscheinlich aufgrund einer "suhosin secutiry" setup.
phpunit ist jetzt ein "phar" - Paket inklusive aller Bibliotheken. In der Lage zu sein eine solche Datei bei php hat das suhosin-Modul "Sicherheit" aktiviert, müssen Sie zuerst diese
in Sie php.ini-Datei (z.B. mit debian/ubuntu haben, können Sie zum Bearbeiten die Datei /etc/php5/conf.d/suhosin.ini
InformationsquelleAutor der Antwort eldy
einen alten thread, aber ich stolperte über, wenn mit dem gleichen problem.
Ich hatte das gleiche problem, nichts zurückgegeben wird, wird die Konsole mit print, print_r, echo etc.
gelöst durch die Verwendung
--stderr
als test-runner option.InformationsquelleAutor der Antwort DevDonkey
Überprüfen Sie, ob die phpunit du läufst und die, die Sie installiert sind, sind die gleichen:
Versuchen, ausführen genau, dass phpunit mit dem vollständigen Pfad.
Dann überprüfen Sie Ihre PATH-variable, und sehen, ob das richtige Verzeichnis ist. Wenn nicht, beheben.
Wenn das nicht hilft, verwenden Sie etwas schreiben, in der phpunit ausführbaren Datei, z.B. "echo 123;" und ausführen von phpunit. Überprüfen Sie, wenn Sie sehen, dass.
InformationsquelleAutor der Antwort cweiske
habe ich versucht hier alles, aber nichts funktionierte, bis ich versuchte
phpunit --no-configuration simple_test.php
. dass schließlich gab mir eine Ausgabe, was bedeutet, dass meinephpunit.xml.dist
Datei ist kaputt. (ich komme zurück, und aktualisieren Sie diese, sobald ich Debuggen.)den Inhalt
simpletest.php
sind unten, aber der test-Datei funktionieren sollte.InformationsquelleAutor der Antwort ryan
Für mich der Konflikt war mit Xdebug-Richtlinie
InformationsquelleAutor der Antwort Yeke