单击 link 后重定向测试不会通过

Redirect test won't pass after click on a link

我正在为 Symfony 使用 PHPUnit 编写一些虚拟测试,以便更多地了解 PHP.

中的功能测试

问题来了。 这是我的测试方法:

//Redirecting test by clicking on href
public function testRedirect() {
    $client = static::createClient();
    $crawler = $client->request('GET', '/redirect');

    $link = $crawler->selectLink('Click me !')->link();
    $client->click($link);

    $crawler2 = $client->followRedirect();
    $this->assertTrue(
            $client->getResponse()->isRedirect()
    );
    $this->assertTrue($crawler2->filter('html:contains("Haha, you\'ve been redirect !")')->count() > 0);
}

这是我的 link :

<a href="{{ path('redirect2') }}">Click me !</a>

目的地的消息:

Haha, you've been redirect !

我假设

redirect2

是我的路线名称。

测试给我:

1) AppBundle\Tests\Controller\DefaultControllerTest::testRedirect
LogicException: The request was not redirected.

所以我的问题是:href 是否被视为重定向?

提前致谢! 泰来斯特,

当您按照重定向进行操作时,您已经在 "next" 页面上。只需在 assert

之后移动行 $crawler2 = $client->followRedirect();