Symfony Unit测试:如何使用json体模拟Http-PUT?

时间:2013-03-10 18:27:00

标签: symfony phpunit silex

我使用client-Object来模拟和测试我的Silex-Webservices。如何使用PUT方法发送JSON-Body?

我的想法是:

$crawler = $this->client->request('PUT', '/test', array(), array(), array(), '{"id":"34"}');

这不起作用。 :(

2 个答案:

答案 0 :(得分:9)

请尝试使用此代码:

$client->request(
    'PUT', '/test', array(), array(),
    array(
        'CONTENT_TYPE' => 'application/json',
        'HTTP_X-Requested-With' => 'XMLHttpRequest'
    ),
    '{"id":"34"}'
);  

答案 1 :(得分:0)

感谢Dimitry,不完全是我想要的,但是找到解决方案的一个很好的暗示:

$client->request(
    'PUT', '/test', array(), array(),
    array(
        'CONTENT_TYPE' => 'application/json',
        'HTTP_X-Requested-With' => 'XMLHttpRequest'
    ),
   '{"id":"34"}'
);

你的解决方案有一个空数组很多,我的想法是将JSON作为字符串传递!

非常感谢!干杯