单击 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();
我正在为 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();