2016-02-28 4 views
1

Я установил FosUserBundle, и я хочу сделать тест с PhpUnit, чтобы проверить, могут ли пользователи войти в систему, но мой код должен быть неправильным, потому что я не могу перенаправить.Как проверить страницу входа пользователя?

Мой код:

public function testLogin() 
    { 
     $client = static::createClient(); 
     $crawler = $client->request('GET', '/crm/login'); 
     $buttonCrawlerNode = $crawler->selectButton('_submit'); 
     $form = $buttonCrawlerNode->form(); 
     $data = array('_username' => 'root','_password' => 'toor'); 
     $client->submit($form,$data); 
     $crawler = $this->client->followRedirect(); 
     $crawler = $client->request('GET', '/crm/home'); 
    } 
+2

Может быть, вы используете другой экземпляр клиента? '$ this-> client-> followRedirect();' -> '$ client-> followRedirect();' – 1ed

ответ

1

Кажется, вы используете 2 разные экземпляры client

public function testLogin() 
{ 
    $client = static::createClient(); 
    $crawler = $client->request('GET', '/crm/login'); 
    $buttonCrawlerNode = $crawler->selectButton('_submit'); 
    $form = $buttonCrawlerNode->form(); 
    $data = array('_username' => 'root','_password' => 'toor'); 
    $client->submit($form,$data); 

    //here you're using $this->client not $client 
    $crawler = $this->client->followRedirect(); 
    $crawler = $client->request('GET', '/crm/home'); 
} 
Смежные вопросы