Na kontrolerze symfony2 chciałbym przetestować kontroler, który zwraca obiekt Response
. Moja klasa testowa rozciąga się od WebTestCase
. Używam static::createClient()
, aby uzyskać klienta operacyjnego.Test funkcjonalny kontrolera symfony2: Jak wygenerować trasę
Mój problem polega na tym, że wywołuje dobrą trasę na mojej bieżącej instalacji z wirtualnym hostem.
$client->getContainer()->get('router')->generate('my_route', array(), true)
wygenerować trasę z localhost jako host. Ale to nie działa, ponieważ mam myproject.local jako host.
$client->getContainer()->get('kernel')->getRootDir()
i inne metody dir zapewniają ścieżkę do pliku linux, a nie ścieżkę sieciową.
Nie mogę tego zakodować, ponieważ nie jestem sam w projekcie. Jaka jest więc metoda uzyskania poprawnej trasy lub czy istnieje inny sposób testowania kontrolera?
Dlaczego przejść 'true' jako trzeci argument do' metody generate'? Czy naprawdę potrzebujesz generowanego bezwzględnego adresu URL? –
Tak, ponieważ domyślny adres URL jest również połączony przez localhost. Lub potrzebuję innej metody przetestowania kontrolera. – AlphaB
Czy nie używasz klienta testowego dostarczonego przez Symfony? –