我在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