【问题标题】:Unable to set Content-Type with Symfony2 Functional Tests无法使用 Symfony2 功能测试设置 Content-Type
【发布时间】:2012-06-07 16:01:03
【问题描述】:

我正在测试 RESTful API,需要测试应用程序是否正确解析传入数据。传入数据的类型可以是 XML 或 JSON 格式。应用程序查看标头中的 Content-Type 值以确定如何处理数据。

应用程序运行良好,但我无法在 Symfony2 中为其编写适当的功能测试,因为在调用 URL 时我似乎无法设置 Content-Type。

我正在做这样的事情:

$crawler = $client->request('PUT','/api/record/, array("data" => $xmlData), array(), array("Content-Type" => "text/xml"));

虽然它没有抛出任何错误,但我的应用程序无法获取它。我使用 Firefox 的“海报”插件以及 cUrl 成功测试了我的脚本。

任何帮助/想法将不胜感激。

【问题讨论】:

    标签: symfony functional-testing


    【解决方案1】:

    从我在Symfony2 testing section(使用CrawlerClient 与应用程序交互)上看到的内容来看,您应该将其设置为'CONTENT_TYPE' => 'application/xml'。所以你应该尝试以下方法:

    $crawler = $client->request('PUT','/api/record/', array("data" => $xmlData), array(), array('CONTENT_TYPE' => 'application/xml'));
    

    请注意,我将它从 text/xml 更改为 application/xml,但两者都应该可以工作。

    【讨论】:

      猜你喜欢
      • 2015-05-05
      • 2010-10-23
      • 2019-04-08
      • 2016-02-27
      • 2018-03-11
      • 2023-03-28
      • 2016-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多