0
我正在用PHPUnit編寫一些虛擬測試用於Symfony,以便更多地瞭解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);
}
這是我的鏈接:
<a href="{{ path('redirect2') }}">Click me !</a>
和目的地的消息:
Haha, you've been redirect !
我認爲
redirect2
是米的名字y路線。
測試給我:
1) AppBundle\Tests\Controller\DefaultControllerTest::testRedirect
LogicException: The request was not redirected.
所以我的問題是:是HREF認爲作爲一個重定向或不?
在此先感謝! Telest,
問候, 感謝您的回答。 我試過了你的解決方案,但是我收到了以下消息: 「1)AppBundle \ Tests \ Controller \ DefaultControllerTest :: testRedirect Failed assert that false is true。」 這是否意味着它不被重定向? 謝謝, – Telest
是的,它沒有被重定向。順便說一下,點擊後重新定向並不常見,除非點擊發出重定向響應之後發生的頁面(並非不可能,但不太可能) –
感謝您的解釋。 我可以做什麼樣的測試以便測試「$ client-> followRedirect();」 ? – Telest