我在PHP中使用Ratchet作为websockets。我能够为websockets编写单元(phpspec)和验收测试(behat),但是我找不到如何使用功能性phpunit测试来测试与websocket服务器的连接的方法。我想一个测试,它会检查连接正在运行,将是非常重要的。我想到了类似如下:PHPUnit中Websocket测试[功能]
- 创建(棘轮)客户端
- 连接到WS URL(如客户机 - >连接(主机,端口,...)
- 平的WebSocket /发送/接收一些消息(客户端的调用方法,例如client-> push(..)..)
问题是,我不知道哪个类负责建立连接(创建一个客户端可以请求WebSocket)在棘轮和如何测试然后看起来像我如何创建棘轮客户端为了能够在phpunit功能测试中连接并请求websocket? (类似例如一个标准的PHPUnit功能测试中的Web客户端)
作为一个例子,对于一个特征的功能测试中,我可以执行以下操作:
$client = static::createClient();
$client->request('GET', '/book/3', array(), array(), array('HTTP_X-Requested-With' => 'XMLHttpRequest'));
$response = $client->getResponse();
$this->assertEquals(
440,
$response->getStatusCode()
);
或者例如创建一个经过身份验证的客户端而不是匿名。如何将这个功能测试“翻译”成一个棘轮式websocket?
所以你downvote的问题,但正如我所看到的,当我谷歌的websocket功能测试,这是显示在结果上的几个页面之一。我会稍微澄清一下我的问题。 – user3746259