Symfony功能测试在重定向后断言

时间:2015-11-17 09:57:08

标签: symfony redirect functional-testing assertions

我目前正在尝试编写功能测试但是在登录并重定向到新页面后我遇到了问题。 一切正常,直到最后一次断言。重定向工作正常,重定向后的内容页面没问题,但我在上次断言时收到错误:断言false为真。我在这里找不到任何可以帮助我解决类似问题的事。

以下是代码:

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);
}

}

1 个答案:

答案 0 :(得分:9)

您必须获取followredirect()函数返回的抓取工具:

$crawler = $client->followRedirect();