symfony - 如何检查重定向后的站点?多姆·克劳勒。功能测试

标签 symfony phpunit domcrawler

重定向后如何正确断言?

$crawler = $client->submit($form);
$client->followRedirect();
//$response = $client->getResponse()->getContent();
$this->assertTrue($crawler->filter('html:contains("foo")')->count() > 0);

调试器显示 $response 具有我期望的内容,带有 foo 单词,但断言失败。

最佳答案

将重定向分配给爬网程序。 尝试使用以下代码:

    $crawler = $client->submit($form);
    $this->assertTrue($client->getResponse()->isRedirect(),'Submit ok');
    // Assign the redirect to the crawler 
    $crawler = $client->followRedirect();

    $this->assertEquals(200, $client->getResponse()->getStatusCode(), "Correct redirect to page ok");

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

希望这有帮助

关于symfony - 如何检查重定向后的站点?多姆·克劳勒。功能测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40224128/

相关文章:

php - Goutte - 获取日期在顶部、标题在下面的列表

php - 调用未定义的方法 Symfony\Component\DomCrawler\Crawler::rewind()

php - FOSUserBundle 覆盖注册但无法加载类型错误

php - 无法测试 Symfony2 控制台命令

symfony - Symnfy2 中 Monolog/Swiftmailer Html Formatter 的正确配置是什么?

php - 谁能提供一些有关 Zend Framework 中表单单元测试的资源?

php - 断言NotTrue和断言False之间的区别

php - getHost() 或 $_SERVER ['SERVER_NAME' ] 来自 Symfony2 中的命令组件

php - 如何在 Twig 中循环 "break"?