2

リダイレクト後にアサーションを適切に行う方法は?

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

デバッガーは$response、私が期待するコンテンツを持っていることを示していますfooが、アサーションは失敗しました。

4

1 に答える 1

3

リダイレクトをクローラーに割り当てます。このコードで試してください:

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

この助けを願っています

于 2016-10-24T18:24:00.537 に答える