Как установить любой заголовок в CakePHP 2.6 Controller Test

У меня есть функция контроллера, которая ожидает заголовок «X-Bla-Bla» от моего вызова JSON. Я ловлю заголовок следующим образом:

$this->request->header('X-Bla-Bla')

Теперь я хочу написать тест для этого, но я не могу отправить заголовки.

Мой тест выглядит так:

    $_SERVER['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest';

    $url = Router::url(array('api' => true, 'controller' => 'test', 'action' => 'index'));
    $options = array(
        'return' => 'contents',
    );
    $result = $this->testAction($url, $options);
    $this->assertNotEmpty($result);

Как отправить заголовок?

Если нет, то как я могу проверить свою функцию?


person Chriss Baumfleisch    schedule 01.02.2016    source источник
comment
Подсказка: X-Requested-With тоже является заголовком.   -  person ndm    schedule 01.02.2016


Ответы (1)


Если вы установите заголовок таким образом в тесте:

$_SERVER['HTTP_X_BLA_BLA'] = 'abc';

перед вызовом testAction(), тогда действие вашего контроллера сможет прочитать 'abc' с выражением:

$this->request->header('X-Bla-Bla')
person Serge S.    schedule 01.02.2016