Ich setze PHPUnit-Tests in ein bestehendes Projekt ein. Variablen für globale Konstanten werden häufig verwendet. In meiner Einheit schlagen Testfunktionen fehl, weil die globalen Variablen null sind. Hier ist ein Beispiel für einen fehlgeschlagenen Test
%Vor%Jede Hilfe wäre sehr willkommen
Aktualisierung: Ich habe versucht, statische und entfernen
zu entfernen %Vor%Zur Klassendeklaration ohne Erfolg.
Diese Antwort funktioniert nicht. Ich stellte eine praktisch identische Frage hier und endete mit einer Antwort, die mehr Sinn macht; Sie können die geschützte Eigenschaft $ backupGlobals in der Testklasse, die PHPUnit sehen wird, nicht überschreiben. Wenn Sie in der Befehlszeile arbeiten, können Sie Globals zum Laufen bringen, indem Sie eine XML-Konfigurationsdatei erstellen und backupGlobals dort auf false einrichten.
EDIT: Sie müssen $ secret_key global deklarieren und ihm im globalen Bereich einen Wert zuweisen, wenn Sie PHPUnit verwenden. PHP setzt standardmäßig global initialisierte Variablen in den globalen Namespace, aber PHPUnit ändert diesen Standard beim Sichern von globalen Variablen!
Folgende Änderungen müssen vorgenommen werden:
%Vor%Ihr Code sollte jetzt funktionieren.