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