在Cakephp 2.0中测试Ajax请求

use*_*743 3 testing ajax unit-testing cakephp-2.0

我的控制器中有一个动作,只有当请求是XmlHttpRequest时才会执行某些操作,如下所示:

function myAction() {
    if( $this->request->is('ajax') ) {
        doSomething();
    }
}
Run Code Online (Sandbox Code Playgroud)

这个动作的TestCase会是什么样子?有没有办法模拟CakeRequest实例显示为Ajax请求?

And*_*kov 5

我不知道这是不是一个好方法,而是添加

$_SERVER['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest';
Run Code Online (Sandbox Code Playgroud)

在测试方法的顶部将完成这项工作.在这种情况下,我们将数据作为Ajax发送,因此不再需要检查.