1

コントローラの単体テストを書いていますが、$this->request->is('ajax'). コントローラーのテストに関するドキュメントを調べてきましたが、AJAX 経由で行われた要求をシミュレートする方法が見つからないようです。

testAction()X-Requested-With ヘッダーを設定できるようにヘッダーを送信する方法はありますか?

編集:スーパーグローバルを編集することで、これを回避できます。ハックの少ないソリューションを持っている人はいますか?

4

1 に答える 1

2

1 つの解決策は、テスト中に必要な環境変数を手動で宣言することです。

$_ENV['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest';
// Run your AJAX test...
unset($_ENV['HTTP_X_REQUESTED_WITH']);
于 2012-07-10T14:56:15.630 に答える