使用Symfony2 WebTestCase,我有以下测试:
$client->request('GET', '/');
$this->assertTrue($client->getResponse() instanceof RedirectResponse);
$crawler = $client->followRedirect();
Run Code Online (Sandbox Code Playgroud)
我想在重定向结束后测试新的url,/login
但是我发现无法访问新的URL.
Sam*_*ane 34
你可以使用目前的网址$client->getResponse()->headers->get('location')
,并断言其结尾/登录使用assertRegExp()
.
$this->assertRegExp('/\/login$/', $client->getResponse()->headers->get('location'));
Run Code Online (Sandbox Code Playgroud)
Mas*_*one 23
刚试过Samy Dindane的解决方案没有成功(也许是从2.0改变了)
无论如何,在2.1中,我能够在测试中检索当前的URL:
$client->getRequest()->getUri()
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用assertRegexp().
Gab*_*iak 13
你也可以这样做(Symfony 2.3)
$client->getHistory()->current()->getUri()
Run Code Online (Sandbox Code Playgroud)
您可以$client->getResponse()->getTargetUrl()
在之前添加此行$client->followRedirect()
以获取将重定向到的URL
归档时间: |
|
查看次数: |
15463 次 |
最近记录: |