设置CakePHP Controller单元测试的标头

时间:2012-07-10 02:46:59

标签: php unit-testing cakephp cakephp-2.0

我正在为Controller编写一些单元测试,其中响应行为略有不同,具体取决于$this->request->is('ajax')。我一直在查看documentation for testing controllers,但我似乎无法找到模拟通过AJAX发出的请求的方法。

有没有办法将标头发送到testAction(),以便我可以设置X-Requested-With标头?

编辑:您可以通过编辑超全局来解决此问题。任何人都有一个不太讨厌的解决方案?

1 个答案:

答案 0 :(得分:2)

一种解决方案是在测试期间手动声明必要的环境变量:

$_ENV['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest';
// Run your AJAX test...
unset($_ENV['HTTP_X_REQUESTED_WITH']);