Zend_Test - 在 PHPUnit 的控制器插件中设置重定向

2023-12-11

我一直在尝试使用 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(使用前将#替换为@)

Zend_Test - 在 PHPUnit 的控制器插件中设置重定向 的相关文章

  • 为什么我的 Github 托管网站响应 HTTP 302 而不是 200?

    我拥有该域名penkov id au http penkov id au 我主持一个blog http michael penkov id au blog 2014 01 02 reinventing the wheel html usin
  • Symfony 2:如果用户具有特定角色,则将用户重定向到页面

    我有一个小问题 我希望无论用户在我的网站上哪里 如果他具有 ROLE DEGRADE 角色 他就会被重定向到特定页面 我该怎么做 我必须使用防火墙 我不想将用户重定向到表单登录 而只是重定向到一个简单的页面 我希望在我的网站上随处可见 而不
  • 如何将我的 init 函数中的代码集中到所有控制器中?

    public function init this gt view gt user Zend Auth getInstance gt getIdentity this gt view gt siteName Zend Registry ge
  • 重定向而不是 404 错误页面 - 状态代码不起作用 (Nginx)

    我目前正在迁移到 nginx 服务器 我尝试将其放入名为的 404 ErrorDocument 中404 php 如果我现在尝试访问http mydomain com 404 php 这按预期工作 它将我重定向到 Google 但是一旦我尝
  • 由于缺少会话而在 Next.js 中使用 Next-Auth 进行重定向时,如何显示 Toast 通知? [复制]

    这个问题在这里已经有答案了 例如 假设我有一个名为internal tsx 的页面 其中包含 export const getServerSideProps GetServerSideProps async ctx gt const ses
  • PHP:让用户仅下载购买的文件

    我预见到允许客户通过 PayPal 向我购买某些内容会出现问题 我将提供多种无形商品 当有人完成对其中一种商品的购买时 他们将被重定向到一个登陆页面 让我们称之为 thank you php 该页面将自动排队下载 并允许链接排队下载 以防万
  • zend 表单验证

    我想知道 Zend Form 如何验证输入 我的意思是它如何知道要验证哪些输入字段 我查看了 php 全局变量 POST GET 但没有看到任何设置为标识符 例如 的内容 以便了解如何验证 有人能给我推荐一些关于这些东西的指南吗 好吧 找出
  • 将 stdin/stdout 从执行进程重定向到 Perl 中的管道

    我试图让执行子进程中的 STDOUT STDERR 通过 Perl 中的管道返回到父进程 我见过的最接近我想做的事情是 http forums devshed com perl programming 6 exec and redirect
  • Zend RegEx Validator 的自定义有意义的错误消息

    我正在验证表单中的文本字段 如下所示 name new Zend Form Element Text name name gt setLabel First Name gt setRequired true gt addFilter new
  • 通过 PEAR 安装 PHPUnit

    我安装时遇到问题PHPUnit 3 4 6 via 梨1 9 0 当我发现频道后pear phpunit de并尝试使用以下命令之一 pear 安装 phpunit PHPUnit pear 安装 alldeps phpunit PHPUn
  • 如何将输出重定向到 boost 日志?

    我有一个使用boost log的C 程序 我加载了用户提供的动态链接库 我想将 stderr 重定向到 boost 日志 以便用户的库随时执行以下操作 std cerr lt lt Some stuff 它产生相同的结果 BOOST LOG
  • zend 模块特定配置问题

    我使用 zend 框架构建 REST Web 服务 并且使用模块来分隔我的 api 版本 现在 我想为每个模块 v1 和 v2 都有一个单独的配置文件 主要用于指定单独的数据库连接 我有这样的目录结构 application modules
  • Laravel 注册成功后如何重定向到上一页?

    现在redirectTo被设定为 home 我想知道如何重定向到上一页 我尝试使用 protected redirectTo URL previous 但我得到解析错误 期待 or 解决这个问题的最佳解决方案是什么 我想我需要重写 redi
  • 如何检测iPhone是否有视网膜显示屏?

    如何检测 iPhone 是否配备视网膜显示屏 有靠谱的办法吗 要么是纯 PHP 要么最好是 Zend Framework 方式来执行此操作 我通过这个弄清楚了 var retina window devicePixelRatio gt 1
  • 在子目录中设置 WordPress 时出现错误的 wp-admin 重定向

    我在 docker 容器中设置了 wordpress 使用 nginx 反向代理转发所有位置请求 blog到那个 docker 容器 问题是登录 wp admin 后 它重定向到domain wp admin 代替 domain blog
  • 将移动设备重定向到我网站的备用版本

    我们已经为移动设备准备了网站的替代版本 我们提供的内容不同 而且效果很好 检测要提供哪个版本的最佳方法是什么 我们没有所有移动设备的列表 因此使用用户代理标头很棘手 因为我们可能会错过一些东西 我们考虑过使用设备屏幕宽度 但如果移动设备不支
  • URL 哈希在重定向之间持续存在

    由于某种原因 当发送服务器端重定向 使用 Location 标头 时 非 IE 浏览器似乎会保留 URL 哈希 如果存在 例子 a simple redirect using Response Redirect http www yahoo
  • 如何使用 Zend_Db 启用 SQL 输出到日志文件?

    我想知道 Zend Db 是否可以做到这一点 但我正在寻找类似 SQL 查询日志记录之类的东西 类似于 Hibernate 的做法 它向您显示它在日志文件中生成的 SQL 您可以使用 Zend Db Profiler 来完成此任务 教程 Z
  • 将有用的消息从一个控制器传递到另一个重定向的控制器

    我想在用户单击按钮后创建 RedirectToAction 在重定向之前 我将信息存储到变量中 最后 在我转向行动之后 我想展示一些有用的信息 我试过这个 ViewBag message User with ID id was change
  • .htaccess 重定向到随机 URL

    我的服务器上有几个页面有流量 我需要将它们重定向到其他网站 这是最简单的部分 问题是我需要将事情混合起来并随机将人们发送到新站点 我发现可以在 time sec 之前做到这一点 但无论我尝试什么 我目前的知识都不足以使其发挥作用 这是我现在

随机推荐