2015-11-17 3 views
4

В настоящее время я пытаюсь написать функциональные тесты, но я застреваю после входа в систему и переадресации на новую страницу. Все работает нормально до последнего утверждения. Переадресация работает нормально, страница содержимого после перенаправления в порядке, но я получаю сообщение об ошибке на последнем утверждении: не удалось утверждать, что значение false истинно. Я не нашел ничего, чтобы помочь мне в подобных вопросах.Функциональное тестирование Symfony после перенаправления

Вот код:

class DefaultControllerTest extends WebTestCase 
{ 
public function testIndex() 
{ 
    $client = static::createClient(array(), 
     array(
      'HTTP_HOST' => 'locahost' 

     )); 



    $crawler = $client->request('GET', '/login'); 
    echo $client->getRequest()->getUri(); 


    $form = $crawler->selectButton('Login')->form(array(
     '_username' => 'user', 
     '_password' => 'pass', 
    ),'POST'); 


    $client->submit($form); 
    $this->assertTrue($client->getResponse()->isRedirect()); 
    $client->followRedirect(); 
    echo $client->getRequest()->getUri(); 

    print_r($client->getResponse()->getContent()); 


    $this->assertTrue($crawler->filter('html:contains("New")')->count() > 0); 
} 

}

+0

мне удалось частично исправить, добавив $ искателю = $ client-> request ('GET', '/'); перед последним утверждением, но теперь проблема в том, что я не могу найти все элементы на новой странице, только некоторые из них, так как страница не хорошо отформатирована или так. – Osmiumbin

+0

Вы попробовали? – COil

ответ

7

Вы должны получить гусеничный возвращаемый followredirect() функции:

$crawler = $client->followRedirect(); 
+1

Или просто '$ crawler = $ client-> followRedirect();' –

+0

Исправлено! Спасибо. – COil

Смежные вопросы