Symfony 2 mit PhpUnit 3.6: Ändern des Ziel-Hostnamens für Testzwecke

7

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!

    
user772843 07.11.2011, 15:37
quelle

3 Antworten

12

Sie können HTTP_HOST auch in Serverparametern übergeben, um den Zielhostnamen zu ändern:

%Vor%     
Karol Kasprzak 24.12.2013 07:48
quelle
6

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%     
igorw 07.11.2011 16:29
quelle
2

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%     
Arno 15.06.2017 10:04
quelle

Tags und Links