gpt4 book ai didi

zend-framework - Zend_Test - 在 PHPUnit 的 Controller 插件中设置重定向

转载 作者:行者123 更新时间:2023-12-05 00:06:16 25 4
gpt4 key购买 nike

我一直在尝试使用 PHPUnit 来测试应用程序。我一切正常,但无法测试重定向。

我的重定向发生在 Acl Controller 插件内,而不是在 Controller 中的操作内。

我已将它们更改为使用建议的格式

$r = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
$r->gotoSimple("index", "index", "default");

但这在测试中失败了,响应正文是空的,我收到了类似的错误
Zend_Dom_Exception: Cannot query; no document registered

如果我然后更改测试以便调度方法不会导致 gotoSimple()被调用然后测试正确运行。

我应该如何在我的应用程序中进行重定向,以便它与 Zend_Test 一起正确运行的响应对象?

Zend 文档在大约两行中涵盖了这一点,我已经尝试过,但失败了。

谢谢。

最佳答案

要测试是否发生了重定向,您需要添加

$this->assertRedirectTo( 'index' );

运行后 $this->dispatch();
您无法查询响应正文,因为在重定向的情况下它是空的(这是您的异常的来源)。
您可以随时检查响应的实际情况
print_r( $this->getResponse() );

关于zend-framework - Zend_Test - 在 PHPUnit 的 Controller 插件中设置重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3565637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com