2012-06-07 26 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,但都應該工作。

相關問題