2
我有兩個字段的表單。提交後,將顯示該表單的相同控制器的重定向。symfony 2中的測試表單phpunit
的方法如下:
public function chartsAction($path, Request $request)
{
// display form
if(isset($_POST))
{
// handle form submission
}
}
當它不是一個POST請求,則URL爲charts/
。
當它是一個POST請求時,該URL是例如charts/dateFrom/2013-08/dateTo/2014-02
,所以這是方法的$ path參數,並且兩個變量取決於表單。
現在我想測試這個。問題是表單重定向給了我相同的圖表/網站。它只是不會爲路由添加$ path參數。這是怎麼回事?我的測試方法:
public function testChartsAction()
{
$crawler = $this->client->request('GET', '/charts', [], [], $this->credintials);
$form = $crawler->selectButton('dateChooser[Choose]')->form([
'dateChooser[dateFrom]' => '2014-08',
'dateChooser[dateTo]' => '2014-12',
]);
$this->client->submit($form);
$crawler = $this->client->followRedirect();
$this->assertTrue($this->client->getResponse()->isRedirect('/charts/dateFrom/2014-08/dateTo/2014-12'));
$this->assertTrue($this->client->getResponse()->isSuccessful());
}
第一個斷言讓我錯誤。
嘗試測試isRedirect的followRedirect方法之前 – Matteo 2014-12-02 21:27:57
它仍然給我/圖表重定向從形式,沒有GET參數。 – khernik 2014-12-02 21:31:57