功能测试:如何在POST方法中设置JSON数据?

时间:2011-04-21 15:47:05

标签: json symfony1 functional-testing

我想为接收带有JSON格式数据的POST方法的操作创建功能测试。

这就是我所拥有的:

  info('set car')->
  post('/user/'.$user->getId().'/set-car/'.$car->getId()'->

  with('request')->ifFormat('json')->begin()->
    isParameter('module', 'myModule')->
    isParameter('action', 'myAction')->
  end()->

但是......我应该在哪里设置接收json数据?

sf 1.4

此致

哈维

2 个答案:

答案 0 :(得分:2)

您是否从Jobeet教程中查看了page

第一个例子是

$browser = new sfBrowser();

$browser->
  get('/')->
  click('Design')->
  get('/category/programming?page=2')->
  get('/category/programming', array('page' => 2))->
  post('search', array('keywords' => 'php'))
;

可能我根本不理解你的问题。 如果我错了,请纠正我。

答案 1 :(得分:0)

更多解决方法......

如果您的动作内容如下:

protected function getContent() {
    $content = $this->request->getParameter('content'); 
    if(!$content) $content = $this->request->getContent(); 
    return $content;
}

public function executeIndex(sfWebRequest $request) {
    $content = $this->getContent();
    //do something with your content :D
}

应该允许您通过传递

来测试您想要的内容
post('search', array('content' => 'whatever my content is'));