首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Symfony功能测试-自定义标头不能通过

Symfony功能测试-自定义标头不能通过
EN

Stack Overflow用户
提问于 2012-07-19 04:24:16
回答 1查看 23.1K关注 0票数 39

由于某种原因,当我发送一个新的$client->请求时,我指定的头文件会丢失:

代码语言:javascript
复制
public function testGetClientsAction()
{
    $client = static::createClient();

    $cookie = new Cookie('locale2', 'en', time() + 3600 * 24 * 7, '/', null, false, false);
    $client->getCookieJar()->set($cookie);

    // Visit user login page and login
    $crawler = $client->request('GET', '/login');
    $form = $crawler->selectButton('login')->form();
    $crawler = $client->submit($form, array('_username' => 'greg', '_password' => 'greg'));

    $client->request(
       'GET', 
       '/clients', 
        array(), 
        array(), 
        array('X-Requested-With' => 'XMLHttpRequest', 'accept' => 'application/json')
    );

    print_r($client->getResponse());
    die();

}

在被测试的方法中,我在第一行有这样的代码:

代码语言:javascript
复制
print_r($request->headers->all());

响应如下:

代码语言:javascript
复制
Array
(
    [host] => Array
        (
            [0] => localhost
        )

    [user-agent] => Array
        (
            [0] => Symfony2 BrowserKit
        )

    [accept] => Array
        (
            [0] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
        )

    [accept-language] => Array
        (
            [0] => en-us,en;q=0.5
        )

    [accept-charset] => Array
        (
            [0] => ISO-8859-1,utf-8;q=0.7,*;q=0.7
        )

    [referer] => Array
        (
            [0] => http://localhost/login_check
        )

    [x-php-ob-level] => Array
        (
            [0] => 1
        )

)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-27 12:25:07

我也有同样的问题,在深入研究之后,我认为这是BrowserKit目前不支持的一个特性。

我已经为它记录了一个问题:https://github.com/symfony/symfony/issues/5074

更新:这不是问题--请看下面的评论

示例代码

示例请求:

代码语言:javascript
复制
$client->request(
    'GET',
    $url,
    array(),
    array(),
    array(
        'HTTP_X_CUSTOM_VAR' => $var
    )
);

获取数据:

代码语言:javascript
复制
$request->headers->get('x-custom-var');
票数 67
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11549672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档