Codeception 没有为 AJAX 设置 headers

Codeception not setting headers for AJAX

我设置了以下功能测试

$I = new FunctionalTester($scenario);
$I->wantTo('get a list of users');

$key = $I->amApiAuthenticated();
$I->seeInSession('key');
$I->setHeader('X-API-KEY', $key);    
$I->sendAjaxGetRequest('/api/users');
$I->seeResponseCodeIs(200);

但测试失败,因为未设置 X-API-KEY(导致 403),这是从 Laravel:

转储到日志文件的请求
[2015-05-07 00:26:10] production.INFO: GET /api/users HTTP/1.1
Accept:           text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset:   ISO-8859-1,utf-8;q=0.7,*;q=0.7
Accept-Language:  en-us,en;q=0.5
Host:             localhost
User-Agent:       Symfony2 BrowserKit
X-Requested-With: XMLHttpRequest

我是不是漏掉了什么? headers真的没有办法这样设置吗?我尝试了 REST 和 PhpBrowser ajax 方法,其中 none 有效。

我也尝试将其重命名为 HTTP_X_API_KEY,但它仍然没有出现在请求中。

如有任何帮助,我们将不胜感激!

抱歉耽搁了。

我删除了对 PhpBrowser 的依赖,并包含了 REST 组件,此外还调整了我获取 header 字段的方式(使用 Request::header() 而不是 FormRequest 传递给控制器方法)。