Symfony2:AJAX控制器的UnitTests

时间:2014-05-09 11:11:04

标签: php ajax symfony phpunit

我将编写一些Symfony2 UnitTests(派生自Symfony \ Bundle \ FrameworkBundle \ Test \ WebTestCase)来测试ajax控制器,类似于此How to get Ajax post request by symfony2 Controller。 我最大的问题是将参数放入"请求"请求的包,而不是"参数"袋。与上面的示例类似,控制器中的方法如下所示:

public function ajaxAction(Request $request) 
{
    $data = $request->request->get('data');
}

但是,如果我执行$ request的var_dump,我在WebTestCase中提供的参数不会出现在$ request-> 请求中,而是出现在$ request-> 参数中即可。让我们说这是我的webtestcase中代码的一部分:

....
$client = static::createClient();
$client->request('POST', '/ajax/blahblah', ... ?????);

我已经尝试直接在网址中提供参数

/ajax/blahblah?data=whocares

我尝试在数组中指定参数

$client->request('POST', '/ajax/blahblah', array('data' => 'fruityloops'));

但没有任何效果。有机会运行吗?

提前致谢

亨尼斯

1 个答案:

答案 0 :(得分:0)

发出请求后,您需要获得响应。试试这个:

if (confirm('Open dialog for testing?'))
    chrome.runtime.sendMessage({type:'request_password'});