2012-06-07 27 views
5

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

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

我做这样的事情:

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

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

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

回答

5

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

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

注意,我改变了它从text/xmlapplication/xml,但都应该工作。

相关问题