如何针对需要在symfony2中发布数据的web服务进行功能测试?

如何针对需要在symfony2中发布数据的web服务进行功能测试?,symfony,symfony-2.1,Symfony,Symfony 2.1,我设计了一个symfony web应用程序,它提供restful web服务。我想编写一组功能测试来测试这些返回JSON数据的web服务 但是,我不确定如何测试需要向其发布一些测试数据的web服务。这就是我如何将一些数据发布到symfony应用程序中的web服务URL,以便针对某些响应进行断言的方法?顺便说一句,我喜欢Symfony作为一个框架 下面是一些测试GET响应的示例代码: public function testIndex() { $client = stat

我设计了一个symfony web应用程序,它提供restful web服务。我想编写一组功能测试来测试这些返回JSON数据的web服务

但是,我不确定如何测试需要向其发布一些测试数据的web服务。这就是我如何将一些数据发布到symfony应用程序中的web服务URL,以便针对某些响应进行断言的方法?顺便说一句,我喜欢Symfony作为一个框架

下面是一些测试GET响应的示例代码:

 public function testIndex()
    {
        $client = static::createClient();

        $crawler = $client->request('GET', '/demo/hello/Fabien');

        $this->assertGreaterThan(
            0,
            $crawler->filter('html:contains("Hello Fabien")')->count()
        );
    }
如果上面的/demo/hello/Fabien需要一些post数据怎么办


非常感谢您的一些见解内容是请求函数中的第六个参数,因此您可以执行以下操作:

$data = json_encode(array('name' => 'Fabian'));

$crawler = $client->request(
    'POST',
    '/demo/hello',
    array(),
    array(),
    array(),
    $data
);

内容是请求函数中的第6个参数,因此您可以执行以下操作:

$data = json_encode(array('name' => 'Fabian'));

$crawler = $client->request(
    'POST',
    '/demo/hello',
    array(),
    array(),
    array(),
    $data
);

要么你的问题不清楚,要么我不明白你为什么不使用
$client->request('POST','/demo/hello/Fabien')?要么你的问题不清楚,要么我不明白你为什么不使用
$client->request('POST','/demo/hello/Fabien')