Ich prüfe einen Controller auf diese Weise:
%Vor%Nach dem Ausdrucken des $ Crawler Objekts kann ich sehen, dass die Ziel URL Ссылка ist. Mein Zielhost ist jedoch ein virtueller Host, der auf meinem Rechner eingerichtet ist, sagen wir Ссылка und ich würde das gerne nutzen. Welche sauberen Mittel sollte ich für meine Komponententests verwenden, um auf diesen virtuellen Host zu zielen?
Ich habe versucht, eine PHP-Variable in meine Datei phpunit.xml.dist zu setzen und sie zu verwenden:
%Vor%Und dann:
%Vor%Aber das sieht peinlich aus ... Gibt es eine Konfigurationsdatei (die Datei config_test?), in die ich den virtuellen Hostnamen einfügen soll?
Danke, dass ihr geholfen habt, alle!
Sie können HTTP_HOST auch in Serverparametern übergeben, um den Zielhostnamen zu ändern:
%Vor% Sie können diese Werte als DIC-Parameter (Dependency Injection Container) in config/config_test.yml
festlegen.
Im Grunde fügen Sie sie einfach so hinzu:
%Vor%Dann können Sie eine Hilfsmethode für Ihre Testklasse erstellen, um die URL für einen bestimmten Host zu erhalten:
%Vor% Hinweis: Ich nehme an, dass Sie WebTestCase
verwenden.
Nutze dies in deinem Test:
%Vor%Laut igorw, wenn Sie Ihren Hostnamen als Parameter in einer Konfigurationsdatei haben, wie:
%Vor%In Ihrem WebTestCase können Sie den Hostnamen von Parametern abrufen und den HTTP_HOST-Parameter auf client setzen:
%Vor%In Ihrem zu testenden Code enthält das Request-Objekt den Hostnamen:
%Vor%