无法使用Symfony2功能测试设置内容类型

无法使用Symfony2功能测试设置内容类型,symfony,functional-testing,Symfony,Functional Testing,我正在测试RESTful API,需要测试应用程序是否正确解析传入数据。传入数据的类型可以是XML或JSON格式。应用程序查看标题中的内容类型值,以确定如何处理数据 应用程序运行良好,但我无法在Symfony2中为其编写适当的功能测试,因为调用URL时,我似乎无法设置内容类型 我正在做这样的事情: $crawler = $client->request('PUT','/api/record/, array("data" => $xmlData), array(), array("Co

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

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

我正在做这样的事情:

$crawler = $client->request('PUT','/api/record/, array("data" => $xmlData), array(), array("Content-Type" => "text/xml"));
虽然它没有抛出任何错误,但我的应用程序无法拾取它。我用Firefox的“海报”插件和cUrl成功地测试了我的脚本


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

从我在上看到的(它使用
爬虫程序和
客户端与应用程序进行交互),您应该将其设置为
'CONTENT\u TYPE'=>'application/xml'
。因此,您应该尝试以下方法:

$crawler = $client->request('PUT','/api/record/', array("data" => $xmlData), array(), array('CONTENT_TYPE' => 'application/xml'));
请注意,我将其从
text/xml
更改为
application/xml
,但两者都可以工作