【发布时间】:2012-07-09 11:51:21
【问题描述】:
我正在为控制器编写一些单元测试,其中响应行为略有不同,具体取决于 $this->request->is('ajax').我一直在查看documentation for testing controllers,但似乎找不到模拟通过 AJAX 发出的请求的方法。
有没有办法将标头发送到testAction(),以便我可以设置 X-Requested-With 标头?
编辑:您可以通过编辑超全局变量来解决这个问题。任何人有一个不那么 hacky 的解决方案?
【问题讨论】:
-
如果您只是想闯入某个代码块,您可以检查请求是否为 ISNT ajax,否则为什么不能发送 ajax 请求?
-
我不确定你对@NickSavage 的建议是什么。必须编辑代码违背了单元测试的目的,并且您无法在单元测试中可靠地针对您自己的代码发出 http 请求,因此需要模拟输入。
标签: php unit-testing cakephp cakephp-2.0