我一直在尝试使用 PHPUnit 来测试应用程序。我一切正常,但无法测试重定向。
我的重定向发生在 Acl 控制器插件内,而不是控制器中的操作内。
我已将它们更改为使用建议的格式
$r = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
$r->gotoSimple("index", "index", "default");
但这在测试中失败了,响应正文为空,我收到如下错误
Zend_Dom_Exception: Cannot query; no document registered
如果我随后更改测试,以便调度方法不会导致gotoSimple()
被调用然后测试正确运行。
我应该如何在我的应用程序中进行重定向,以便它正确运行Zend_Test
的响应对象?
Zend 文档用大约两行内容介绍了这一点,我已经尝试过但失败了。
Thanks.
要测试重定向是否发生,您需要添加
$this->assertRedirectTo( 'index' );
跑步后$this->dispatch();
您无法查询响应正文,因为在重定向的情况下它是空的(这就是异常的来源)。
您可以随时检查响应的实际情况
print_r( $this->getResponse() );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)