首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Symfony2 WebTestCase中重定向后获得当前URL?

如何在Symfony2 WebTestCase中重定向后获得当前URL?
EN

Stack Overflow用户
提问于 2012-06-15 08:42:25
回答 5查看 18.8K关注 0票数 39

使用Symfony2 WebTestCase,我有以下测试:

代码语言:javascript
运行
复制
$client->request('GET', '/');
$this->assertTrue($client->getResponse() instanceof RedirectResponse);

$crawler = $client->followRedirect();

我想测试新的url,在重定向/login结束之后,但是我没有办法访问新的URL。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-06-15 09:15:04

您可以使用$client->getResponse()->headers->get('location')获取当前URL,并使用assertRegExp()断言它以/login结尾。

代码语言:javascript
运行
复制
$this->assertRegExp('/\/login$/', $client->getResponse()->headers->get('location'));
票数 36
EN

Stack Overflow用户

发布于 2012-10-22 09:34:50

刚刚尝试了Samy的解决方案,但没有成功(也许是从2.0改变了)

总之,在2.1中,我能够通过以下方法检索当前的URL:

代码语言:javascript
运行
复制
$client->getRequest()->getUri()

然后,可以使用assertRegexp()。

票数 27
EN

Stack Overflow用户

发布于 2013-07-16 11:27:35

你也可以这样做(Symfony 2.3)

代码语言:javascript
运行
复制
$client->getHistory()->current()->getUri()
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11047305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档