2013-04-26 15 views
1

我設計了一個symfony web應用程序,它提供了寧靜的web服務。我想編寫一組功能測試來測試這些返回JSON數據的Web服務。如何針對symfony2中需要POST數據的Web服務進行功能測試?

但我不確定如何測試需要將測試數據發佈給它們的Web服務。那我該如何將一些數據發佈到我的symfony應用程序中的Web服務URL,以便我可以對某些響應進行斷言?通過我愛的Symfony作爲一個框架

所以這裏的方式是,對於一個GET響應測試一些示例代碼:

public function testIndex() 
    { 
     $client = static::createClient(); 

     $crawler = $client->request('GET', '/demo/hello/Fabien'); 

     $this->assertGreaterThan(
      0, 
      $crawler->filter('html:contains("Hello Fabien")')->count() 
     ); 
    } 

如果什麼/演示/你好/法比安斯基以上需要一些POST數據?

的一些見解

+0

無論你的問題不清楚,或者我不明白爲什麼你不使用'$ client-> request('POST','/ demo/hello/Fabien');'? – 2013-04-26 19:05:28

回答

1

內容千恩萬謝是在請求函數的第6個參數,所以你會做這樣的事情:

$data = json_encode(array('name' => 'Fabian')); 

$crawler = $client->request(
    'POST', 
    '/demo/hello', 
    array(), 
    array(), 
    array(), 
    $data 
); 
+0

甜蜜謝謝先生 – jini 2013-04-26 20:38:46

相關問題