Я пишу некоторые модульные тесты для контроллера, в котором поведение ответа немного отличается, в зависимости от того, является ли $this->request->is('ajax')
. Я просматривал документацию для тестирования контроллеров , но я не могу найти способ имитировать запрос, сделанный через AJAX.
Есть ли способ отправить заголовки testAction()
чтобы я мог установить заголовок X-Requested-With?
Изменить: вы можете обойти это, отредактировав суперглобалы. У кого-то есть менее хакерское решение?
Одно из решений заключается в том, чтобы вручную объявить необходимую переменную среды на время вашего теста:
$_ENV['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'; // Run your AJAX test... unset($_ENV['HTTP_X_REQUESTED_WITH']);